| Age | Commit message (Collapse) | Author |
|
|
|
|
|
Was passing in pointer to a null VertexInputState structure, but
driver needs null pointer if structure unused.
|
|
This reverts commit b81161d0fa45c3b1333d8954220c992c5eb8aac4.
Change did not match commit message.
|
|
The loader_GetDeviceProcAddr is the terminator
for the CreateDevice chain. It needs to call the ICD's
GetDeviceProcAddr to get the correct function pointer
not the object's current dispatch table that points
at the beginning of the chain.
Saw issue when running cube with only DRAW_STATE layer
enabled.
|
|
Need to remove the CreateDevice function pointer from the
loader's instance table.
|
|
Discovered an issue where a layer was doing cleanup
in it's DestroyDevice function but the CreateDevice
was never called.
This happened because the extension was only enabled
on the device chain and the device chain doesn't actually
call CreateDevice. That happens on the Instance chain.
Making it so that we can call down the device chain -
which is terminated by the ICD.
We need to know the real device object to construct the
device chain heiarchy and when calling down the device
chain it should end with the ICD doing the actual device
object creation.
This patch fixes the issue by using the
same process as CreateInstance. The loader will call
the ICD's CreateDevice and pass that in the *pDevice
argument. The layers then ignore the PhysicalDevice parameter
and use the *pDevice to access the device chain.
To prevent the ICD from being called twice needed to
stub in a special loader_GetDeviceChainProcAddr to provide
a stub for only CreateDevice as the end of the chain.
integrate review feedback.
|
|
Layers that do not implement WSI features yet can 'trace'
WSI calls do not need to advertise WSI as an extension.
Any WSI calls made will land in the layer if it hooks
those calls. Otherwise should not care about WSI.
|
|
If a layer were to only be enabled on the device chain
it would not have had a chance to allocate a debug_report
data structure. Just treat such cases as having debug_report
disabled.
|
|
We'll soon break the rule being asserted, so remove
them.
|
|
The location comments in the generated code help
a lot in determining what part of the generator generates
what code.
|
|
Finding entries that are not filled in properly is easier
if the table is initialized to zeros.
|
|
Code was searching global extension cache for
extensions enabled at CreateDevice time. List are similar
but not identical and cause vulkaninfo to hit a segfault.
|
|
|
|
Was telling the driver to enable more extensions than
intended.
|
|
|
|
|
|
|
|
Removed some unused error codes.
Updated INVALID_OBJECT error to correctly be flagged.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Begin/End/Continue a RenderPass
|
|
|
|
This change validates certain API calls are made inside of or outside of a RenderPass as appropriate. Exact restrictions included in this changelist are included below.
Also fixed cube and tri demos to Bind Pipeline & DescriptorSets within RenderPass and updated some layer validation tests.
The following calls must be within RenderPass:
vkCmdBindPipeline() w/ GFX pipelineBindPoint
vkCmdBindDescriptorSets() w/ GFX pipelineBindPoint
vkCmdBindDynamicStateObject()
vkCmdBindIndexBuffer()
vkCmdBindVertexBuffers()
vkCmdEndRenderPass()
The following calls must be outside of RenderPass:
vkCmdBindPipeline() w/ COMPUTE pipelineBindPoint
vkCmdBindDescriptorSets() w/ COMPUTE pipelineBindPoint
vkCmdBlitImage()
vkCmdResolveImage()
vkCmdBeginRenderPass()
|
|
|
|
vkCmdBindDescriptorSets() matches layout from PSO at Draw time.
Also fix a bug where PSO status flags were not getting set into Cmd Buffer.
|
|
Begin/End/Continue a RenderPass
|
|
|
|
|
|
|
|
|
|
RenderPass
|
|
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14014
Header and minimal code changes to include support for
multiple entrypoints in a shader module.
Driver implementation TBD.
|
|
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14016
|
|
The device dispatch is setup in GetDeviceProcAddr, don't
need to do it in layer's CreateDevice.
|
|
Need to include CreateInstance, DestroyInstance
and CreateDevice in screenshot's GetInstanceProcAddr
otherwise cannot process setup correctly.
|
|
Need way to clean up resources allocated at CreateInstance.
|
|
By using the vkGetInstanceProcAddr function in the loader's
instance dispatch table we will trace that function
during initialization of layers. Don't want to do that so
call loader internal function.
|
|
|
|
|
|
NOTES:
1/ Some layers impact from vkGetFormatInfo ->
vkGetPhysicalDeviceFormatInfo; some checks are currently disabled in
ParamChecker pending discussion on the best way to do this. Similar
checks in Image layer implemented via additional layer_data member
to link back from VkDevice -> VkPhysicalDevice.
2/ VkPhysicalDeviceFeatures, VkPhysicalDeviceLimits members all zero
for now; also some further churn to be done to the contents of these
structures.
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
|
|
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=13038
|
|
|
|
vkCmdBindDescriptorSets() matches layout from PSO at Draw time.
Also fix a bug where PSO status flags were not getting set into Cmd Buffer.
|
|
Bug# 13800
|