vkCmdDispatchIndirect with non-zero base offsets? - vulkan

I'm using vkCmdDispatchIndirect, but I'd like to be able to specify non-zero base values, as you can with vkCmdDispatchBase. However, the struct VkDispatchIndirectCommand only has members for the number of workgroups, not base values.
The obvious answer is that you can't, but it seems odd to me that they'd provide the non-zero base functionality only in the non-indirect case, I figure I must be missing something.

You can't. Thanks for free 15 points :D
vkCmdDispatchBase was part of Device Groups extension, so the command was possibly only an afterthought.
If you think Indirect version should be in the API, the community here cannot help you. You need to petition Khronos at KhronosGroup/Vulkan-Docs.

Related

What is this mach_constant_base_node

In c2 architecture specific file i see the above variable. Please share
1. what it is?
2. Whether does it has any relation to the run time constant pool.
Thank you.
An IR graph node that represents a base address of the compiled method's constants table in a machine-specific manner. This node actually does nothing on x86, since the architecture allows to reference the whole range of 32-bit or 64-bit addresses inline.
Generally, no. Though some constants from the constant pool (particularly, floating point) may appear in that table.
P.S. I guess HotSpot Compiler guys are too busy to browse StackOverflow :) The better place for asking C2 implementation-specific questions is hotspot-compiler-dev list.

apache ode bpel expression count doesn't work

Please I need your help, I think that I have read all the threads related to apache ode, I'm either blind or stupid cause I've looked everywhere but it seems like no one has ever had a problem with count
I have an input sequence (int array) and I use a loop to do a simple addition of its content, but the count on the sequence is always returning 1. This is driving me crazy please someone help me with this
I use eclipse luna, bpel designer plugin, tomcat 8, apache ode beta 2 (because of the inline from spec initialization variables)
I don't know what details I can add here, so if I have to add more info just tell me and I'll do it
Thanks in advance
EDIT:
Thanks Walker. I tried a simple test, I just wanted to assign the count on sequence. Here is my assign :
<bpel:copy>
<bpel:from expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[count($input.payload/tns:input)]]>
</bpel:from>
<bpel:to part="payload" variable="output">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:result]]></bpel:query>
</bpel:to>
</bpel:copy>

Why Decompilers cant produce original code theoretically

I searched the internet but did not find a concrete answer that why decompilers are unable to produce original source code. I dint get a satisfactory answer. Somewhere it was written that it is similar to halting problem but dint tell how. So what is the theoretical and technical limitation of creating a decompiler which is perfect.
It is, quite simply, a many-to-one problem. For example, in C:
b++;
and
b+=1;
and
b = b + 1;
may all get compiled to the same set of operations once the compiler and optimizer are done. It reorders things, drops in-effective operations, and rewrites entire sections of code. By the time it is done, it has no idea what you wrote, just a pretty good idea what you intended to happen, at a raw-CPU (or vCPU) level.
It is even smart enough to remove variables that aren't needed:
{
a=5;
b=func();
c=a+b;
d=func2(c);
}
## gets rewritten as:
REGISTERA=func()
REGISTERA+=5
return(func2(REGISTERA))
For starters, the variable names are never preserved when your program is compiled. ...so the best it could possibly do would be to use meaningless variable names throughout your re-constituted program. Compiling is generally a one-way transformation - like a one-way hashing function. Like the hash, it may be possible to generate something else that could hash to the same value, but it's highly unlikely the decompiled program will be the exact same as your original.
Compilers throw out information; not all the information that is in the source code is in the compiled code. For example in compiled Java, you can't tell the difference between a parameterized and unparameterized generic type because the information is only used by the compiler; some annotations are only used at compile time and are not included in the compiled output. That doesn't mean you couldn't get some sort of source code by decompiling; it just wouldn't match nor would be as informative as the actual source code.
There is usually not a 1-to-1 correspondence between source code and compiled code. If an essentially infinite number of possible sources could result in the same object code (given unbounded variable name lengths, etc.), how is a decompiler to guess which one to spit out?

Weird function names in Quartz Core: what gives?

Out of curiosity, what may the rationale behind these function names (found in Apple's Quartz Core framework) be?
ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv()
ZNK2CA6Render9Animation9next_timeEdRd()
ZN2CA11GenericRectIiE5insetEii()
Do you think the developers somehow encoded argument types in function names? How do you find yourself putting "EP19" in there in the course of day-to-day coding? In what circumstances do such barely readable function names actually help you read code and otherwise be more productive?
Thanks in advance for any hints, and Merry Christmas!
These 'mangled' names are automatically generated by the C++ compiler and indeed encode type information.

Can I programatically get hold of the Autos/local variables that is shown when debugging?

Im trying to build an error-logger that loggs running values that is active in the function that caused the error. (just for fun so its not a critical problem)
When going in break-mode and looking at the locals-tab and autos-tab you can see all active variables (name, type and value), it would be useful to get hold of that for logging purposes when an error occur and on some other occasions.
For my example, I just want to find all local variables that are of type string and integer and store the name and value of them.
Is this possible with reflection? Any tips or pointers that get me closer to my goal would be very appreciated.
I have toyed with using expression on a specifik object (a structure) to create an automapper against a dataset, but I have not done anything like what I ask for above, so please make me happy and say its possible.
Thanks.
If you're looking to reproduce the behavior of the debugger, then you may want to be a debugger. See the Visual Studio Extensibility Learning Center. In particular, see the links under "Debuggers".