Courtney Goeltzenleuchter [Thu, 25 Jun 2015 22:26:55 +0000 (16:26 -0600)]
loader: Add debug info
Courtney Goeltzenleuchter [Thu, 25 Jun 2015 22:24:57 +0000 (16:24 -0600)]
vulkaninfo: Use app's extension count, not system
Was telling the driver to enable more extensions than
intended.
Courtney Goeltzenleuchter [Thu, 25 Jun 2015 22:24:36 +0000 (16:24 -0600)]
vulkaninfo: handy debug output
Courtney Goeltzenleuchter [Thu, 25 Jun 2015 22:23:45 +0000 (16:23 -0600)]
vulkaninfo: Need WSI extension for some queries
Tony Barbour [Thu, 25 Jun 2015 22:56:44 +0000 (16:56 -0600)]
vulkan.h: V110 #13864 -- Border Color Values Underspecified
Tobin Ehlis [Thu, 25 Jun 2015 18:29:25 +0000 (12:29 -0600)]
layers: ObjectTracker cleanup
Removed some unused error codes.
Updated INVALID_OBJECT error to correctly be flagged.
Tony Barbour [Fri, 26 Jun 2015 21:02:35 +0000 (15:02 -0600)]
vulkan.h: Bug 14171 - remove unused structure type enums
Tony Barbour [Fri, 26 Jun 2015 20:32:15 +0000 (14:32 -0600)]
vulkan.h: Bug 14153 - remove maxInlineMemoryUpdateSize
Tony Barbour [Fri, 26 Jun 2015 19:28:56 +0000 (13:28 -0600)]
vulkan.h: Bug 14136 - reorder logicop enums
Tony Barbour [Fri, 26 Jun 2015 18:56:09 +0000 (12:56 -0600)]
vulkan.h: Bug 13900 - Remove initialCount from semaphores
Jeremy Hayes [Fri, 26 Jun 2015 18:48:09 +0000 (12:48 -0600)]
layers: Use new param checker layer.
Tony Barbour [Fri, 26 Jun 2015 16:18:34 +0000 (10:18 -0600)]
vulkan.h: Bug 13616 Clarification of types of sample counts
Tony Barbour [Fri, 26 Jun 2015 15:43:05 +0000 (09:43 -0600)]
vulkan.h: Bug 13939 Remove references to depth/stencil resolve
Tobin Ehlis [Tue, 23 Jun 2015 22:13:03 +0000 (16:13 -0600)]
layers: Flag DrawState INVALID_RENDERPASS error if NULL RenderPass used to Begin/End/Continue a RenderPass
Tobin Ehlis [Wed, 24 Jun 2015 23:27:33 +0000 (17:27 -0600)]
layers: Warn in DrawState if DescriptorSet bound that was never updated.
Tobin Ehlis [Wed, 24 Jun 2015 21:53:07 +0000 (15:53 -0600)]
layers: In DrawState, validate correct use of 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()
Tobin Ehlis [Tue, 23 Jun 2015 17:22:55 +0000 (11:22 -0600)]
layers: Add DrawState check to verify Draw* cmds only issued within RenderPass
Tobin Ehlis [Mon, 22 Jun 2015 23:20:50 +0000 (17:20 -0600)]
layers: Add DrawState check to verify that Pipeline layout from vkCmdBindDescriptorSets() matches layout from PSO at Draw time.
Also fix a bug where PSO status flags were not getting set into Cmd Buffer.
Tobin Ehlis [Tue, 23 Jun 2015 22:13:03 +0000 (16:13 -0600)]
layers: Flag DrawState INVALID_RENDERPASS error if NULL RenderPass used to Begin/End/Continue a RenderPass
Tony Barbour [Thu, 25 Jun 2015 21:41:47 +0000 (15:41 -0600)]
vulkan.h: V109 -- Remove minLod from VkImageViewCreateInfo
Tony Barbour [Wed, 24 Jun 2015 22:06:58 +0000 (16:06 -0600)]
vulkan.h: V108 -- Static Types, Bug# 13919
Tobin Ehlis [Tue, 23 Jun 2015 16:52:08 +0000 (10:52 -0600)]
layers: Correctly set Object Type for Dynamic State when flagging error
Tobin Ehlis [Tue, 23 Jun 2015 16:41:13 +0000 (10:41 -0600)]
layers: Report error in DrawState if vkCmdBlitImage() called during RenderPass.
Tobin Ehlis [Tue, 23 Jun 2015 14:46:18 +0000 (08:46 -0600)]
layers: Added DrawState check to flag error if compute pipeline bound during RenderPass
Courtney Goeltzenleuchter [Fri, 19 Jun 2015 03:49:59 +0000 (21:49 -0600)]
Bug 14014: Allow multiple entrypoints in modules
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.
Courtney Goeltzenleuchter [Thu, 18 Jun 2015 23:28:20 +0000 (17:28 -0600)]
bug 14016: Make vkResetFences take const pFences
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14016
Courtney Goeltzenleuchter [Wed, 24 Jun 2015 20:58:38 +0000 (14:58 -0600)]
screenshot: remove unneeded initialization code
The device dispatch is setup in GetDeviceProcAddr, don't
need to do it in layer's CreateDevice.
Courtney Goeltzenleuchter [Tue, 23 Jun 2015 14:50:57 +0000 (08:50 -0600)]
screenshot: Need to wrap more functions
Need to include CreateInstance, DestroyInstance
and CreateDevice in screenshot's GetInstanceProcAddr
otherwise cannot process setup correctly.
Courtney Goeltzenleuchter [Tue, 23 Jun 2015 14:50:27 +0000 (08:50 -0600)]
screenshot: Need a DestroyInstance
Need way to clean up resources allocated at CreateInstance.
Courtney Goeltzenleuchter [Mon, 22 Jun 2015 23:45:21 +0000 (17:45 -0600)]
loader: Use loader_GetInstanceProcAddr
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.
Courtney Goeltzenleuchter [Mon, 22 Jun 2015 22:19:14 +0000 (16:19 -0600)]
image: Need to get layer_data from correct place
Courtney Goeltzenleuchter [Mon, 22 Jun 2015 21:22:51 +0000 (15:22 -0600)]
vulkan: remove unused error code
Chris Forbes [Sun, 21 Jun 2015 10:55:02 +0000 (22:55 +1200)]
vulkan.h: Remove vkGetFormatInfo, add features/limits (#12827, v125)
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>
Courtney Goeltzenleuchter [Thu, 18 Jun 2015 23:01:41 +0000 (17:01 -0600)]
bug 13038: Remove support for multiple GPUs
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=13038
David Pinedo [Wed, 24 Jun 2015 21:29:18 +0000 (15:29 -0600)]
loader: Add {}'s so that loader compilers on Windows
Tobin Ehlis [Mon, 22 Jun 2015 23:20:50 +0000 (17:20 -0600)]
layers: Add DrawState check to verify that Pipeline layout from vkCmdBindDescriptorSets() matches layout from PSO at Draw time.
Also fix a bug where PSO status flags were not getting set into Cmd Buffer.
Mark Lobodzinski [Tue, 23 Jun 2015 21:11:57 +0000 (15:11 -0600)]
vulkan.h: V104 -- Unify compute/graphics pipeline shader passing semantics, Bug# 13800
Mark Lobodzinski [Tue, 23 Jun 2015 17:35:12 +0000 (11:35 -0600)]
layers: ObjectTracker per-instance storage, updated logging
o Moved non-generated code into object_track.h header file
o Added support for per-instance storage
o Updated for new debug logging mechanism/callbacks
Tobin Ehlis [Tue, 23 Jun 2015 00:00:14 +0000 (18:00 -0600)]
layers: Fix DrawState compile fail
Missed adding in layout when resolving merge conflict.
Tobin Ehlis [Fri, 19 Jun 2015 21:07:05 +0000 (15:07 -0600)]
layers: Add DrawState check to verify Idx buffer bound before an Indexed Draw
Also some minor formatting clean-up to reduce lines of code
Tobin Ehlis [Fri, 19 Jun 2015 19:00:59 +0000 (13:00 -0600)]
layers: Add DrawState check to verify BeginCommandBuffer was called before updating or ending a Cmd Buffer
Also migrated code to set Dynamic State back into CmdBindDynamicState function since that's the only call to set Dynamic State.
Ian Elliott [Mon, 22 Jun 2015 21:07:49 +0000 (15:07 -0600)]
tri/cube: Convert GPA usage/error-checking/reporting to a macro.
Ian Elliott [Mon, 22 Jun 2015 20:30:28 +0000 (14:30 -0600)]
tri: Change to vkGetDeviceProcAddr() for WSI functions.
Mark Lobodzinski [Mon, 15 Jun 2015 19:21:21 +0000 (13:21 -0600)]
vulkan.h: V103 -- Add VkPipelineLayout to vkCmdBindDescriptorSets, Bug# 14047
Tobin Ehlis [Fri, 12 Jun 2015 18:49:01 +0000 (12:49 -0600)]
layers: Addition of source_line_info.py script to simplify codegen debugging
vk-layer-generate.py and vk_helper.py now use added source_line_info.py script to insert comments throughout generated code indicating where the code was generated from.
David Pinedo [Fri, 19 Jun 2015 19:48:18 +0000 (13:48 -0600)]
Layers: Correctly handle WSI_LUNARG extension.
Other code cleanup.
Jon Ashburn [Fri, 19 Jun 2015 18:02:24 +0000 (12:02 -0600)]
MemTracker: Advertise WSI_LUNARG extension in GetPhysDevExtInfo
Jeremy Hayes [Fri, 19 Jun 2015 17:37:38 +0000 (11:37 -0600)]
layers: Erase proper key in draw state.
Jeremy Hayes [Fri, 19 Jun 2015 16:57:11 +0000 (10:57 -0600)]
layers: Fix iterator comparison.
Jeremy Hayes [Thu, 18 Jun 2015 16:12:39 +0000 (10:12 -0600)]
layers: Move image validation to separate layer.
Jeremy Hayes [Thu, 18 Jun 2015 16:25:55 +0000 (10:25 -0600)]
layers: Comment for newbies.
Jon Ashburn [Thu, 18 Jun 2015 23:12:57 +0000 (17:12 -0600)]
MemTracker: make sure get_mem_binding_from_object uses dispatchable object
Tobin Ehlis [Thu, 18 Jun 2015 21:59:33 +0000 (15:59 -0600)]
layers: Add DrawState check for Invalid PSO CreateInfo state
Report any violations in PSO restrictions as DRAWSTATE_INVALID_PIPELINE_CREATE_STATE error and don't call into driver.
Also fix a couple of broken error calls that had NULL dispatchable object parameter.
Tobin Ehlis [Thu, 18 Jun 2015 17:02:59 +0000 (11:02 -0600)]
layers: Add active_shaders flag to Pipeline node struct in DrawState
David Pinedo [Thu, 18 Jun 2015 23:03:14 +0000 (17:03 -0600)]
Layers: ported to screenshot layer to master
Tony Barbour [Thu, 18 Jun 2015 22:29:32 +0000 (16:29 -0600)]
Windows: Fix build issues on Windows
Generate vulkan.def from header, fix use of alloca
Jeremy Hayes [Thu, 18 Jun 2015 16:11:03 +0000 (10:11 -0600)]
layers: Remove dead code.
Jeremy Hayes [Thu, 18 Jun 2015 22:21:56 +0000 (16:21 -0600)]
demos: Fix output location in tri.vert.
Jon Ashburn [Thu, 18 Jun 2015 21:02:58 +0000 (15:02 -0600)]
layers: Make WSI_LUNARG a device extension and check if enabled before use
Return NULL GetProcAddr if not enabled. Also fix DEBUG_MARKER bugs
in DrawState and ParamChecker
Also advertise WSI_LUNARG as a device extension in layers where it is used.
Jon Ashburn [Thu, 18 Jun 2015 15:05:37 +0000 (09:05 -0600)]
loader: Remove support for WSI as an instance extension
WSI is now a device extension so remove loader support
Cody Northrop [Thu, 18 Jun 2015 21:38:21 +0000 (15:38 -0600)]
demos: Add missing spv dependency for cube
Tobin Ehlis [Tue, 16 Jun 2015 21:50:44 +0000 (15:50 -0600)]
layers: Migrate draw_state.cpp to use log_msg utility for dbg reporting
Unified all reporting of INVALID_CMD_BUFFER messages under the getCBNode() function which eliminated lots of duplicate code.
Tobin Ehlis [Tue, 16 Jun 2015 15:04:30 +0000 (09:04 -0600)]
layers: Update DrawState intercept of Create/Destroy MsgCallback
Jon Ashburn [Tue, 16 Jun 2015 21:06:44 +0000 (15:06 -0600)]
misc: Remove VK_PHYSICAL_DEVICE_INFO_TYPE_DISPLAY_PROPERTIES_WSI
This is only used for getting display object which is no longer needed
since the GetDisplayInfoWSI() functions is removed
Jon Ashburn [Tue, 16 Jun 2015 18:44:51 +0000 (12:44 -0600)]
misc: Remove GetDisplayInfoWSI()
This entry point was a challenge for loader to handle correctly. Since it is
going away in the new WSI proposal remove it in all components.
Jon Ashburn [Tue, 16 Jun 2015 20:43:19 +0000 (14:43 -0600)]
loader: Fix memory free bug in destroying icd from DestroyInstance
Courtney Goeltzenleuchter [Tue, 16 Jun 2015 23:01:30 +0000 (17:01 -0600)]
layers: Add linefeed after log message
Courtney Goeltzenleuchter [Tue, 16 Jun 2015 22:58:52 +0000 (16:58 -0600)]
mem_tracker: Cannot get dispatch key after destroy
get_dispatch_key looks for the dispatch table pointer at
the beginning of the object. Once it's destroy that value
isn't available so grab the key before it's destroyed.
Mark Lobodzinski [Fri, 12 Jun 2015 17:14:17 +0000 (11:14 -0600)]
vulkan.h: V102 -- Rename min/maxDepth for DepthStencil, Bug# 13917
Renamed depth-stencil minDepth and maxDepth to minDepthBounds and
maxDepthBounds.
Mark Lobodzinski [Fri, 12 Jun 2015 16:57:53 +0000 (10:57 -0600)]
vulkan.h: V101 -- Remove programPointSize, Bug# 13928
Mark Lobodzinski [Thu, 11 Jun 2015 22:41:29 +0000 (16:41 -0600)]
vulkan.h: V100 -- Remove vkClearDescriptorSets, Bug# 13783
Conflicts:
layers/draw_state.cpp
Mark Lobodzinski [Thu, 11 Jun 2015 22:23:27 +0000 (16:23 -0600)]
vulkan.h: V99 -- Remove fixed-function point parameters, Bug# 13928
Remove pointSize and pointFadeThreshold from VkDynamicRsStateCreateInfo.
Mark Lobodzinski [Tue, 16 Jun 2015 20:00:19 +0000 (14:00 -0600)]
vulkan.h: V99 -- Remove vkPinSystemMemory, Bug# 13926
Mark Lobodzinski [Thu, 11 Jun 2015 20:37:55 +0000 (15:37 -0500)]
vulkan.h: V99 -- Remove vkSetMemoryPriority, Bug# 13925
Conflicts:
layers/mem_tracker.cpp
Jon Ashburn [Mon, 15 Jun 2015 22:08:39 +0000 (16:08 -0600)]
layers: Report DEBUG_MARKER as supported in ParamChecker and DrawState
Jon Ashburn [Mon, 15 Jun 2015 18:21:02 +0000 (12:21 -0600)]
layers: Add GetPhysicalDeviceExtInfo to DrawState
Allows DrawState to be enabled in layers_validation_test
Jon Ashburn [Mon, 15 Jun 2015 16:58:28 +0000 (10:58 -0600)]
DrawState: Fix destroying of maps so the map entrys get removed
They were hanging around and causing double delete assertions.
Jon Ashburn [Mon, 15 Jun 2015 15:30:12 +0000 (09:30 -0600)]
tests: Remove the enablement of the "Validation" extension
This accidentally got added resulting in validation layers always running.
Courtney Goeltzenleuchter [Mon, 15 Jun 2015 03:32:01 +0000 (21:32 -0600)]
WIP: Debugging - REMOVE
Courtney Goeltzenleuchter [Mon, 15 Jun 2015 01:57:15 +0000 (19:57 -0600)]
loader: Grab next before destroying the data
Mark Lobodzinski [Thu, 11 Jun 2015 21:11:20 +0000 (16:11 -0500)]
layers: Fix memtracker segfault for ill-behaved apps
Freeing object memory before destroying object resulted in a segfault.
This is illegal but shouldn't crash the layer.
Jon Ashburn [Wed, 10 Jun 2015 22:43:31 +0000 (16:43 -0600)]
shaderChecker: Add GetPhysDevExtInfo and fix CreateInstance
Jon Ashburn [Wed, 10 Jun 2015 22:11:42 +0000 (16:11 -0600)]
loader: Support multiple layers in one library by using <layerName>GetProcAddr
Get*ExtensionInfo string was being used to see if layer extensions are aliases.
Change this over to Get*ProcAddr pointer since that will be different in
libraries that have multiple layers/ICDs in them.
Conflicts:
loader/loader.c
Jon Ashburn [Wed, 10 Jun 2015 16:13:10 +0000 (10:13 -0600)]
loader: Remove the test for device layers activated; they follow create/destroy
Jon Ashburn [Wed, 10 Jun 2015 16:06:06 +0000 (10:06 -0600)]
loader: Add device struct so can destroy layer info at DestroyDevice
This also allows multiple logical devices per icd/gpu combo. Old code
conflated a icd/gpu combo with a logical device
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 17:37:01 +0000 (11:37 -0600)]
mem_tracker: Process config file debug actions
Now that debug report functionality is in place can use
that mechanism to handle logging enabled by vk_layer_settings.txt
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 17:35:37 +0000 (11:35 -0600)]
layers: Remove callback as runtime action
Doesn't make sense to have a callback action to
a config file setting, so remove that option.
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 17:34:49 +0000 (11:34 -0600)]
layers: Add config parser to compute debug flags
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 17:33:06 +0000 (11:33 -0600)]
layers: Move dbg flag print to config header
The print function seems to go better here with the
config file parsing as they use similar values.
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 17:29:24 +0000 (11:29 -0600)]
layers: Add logging callback function for layers
Now that new debug report mechanism is in place, need
a callback function to output a log message.
Can then have layers register callback with debug_report
to have messages sent to stdout / FILE as well as
whatever the application asked for.
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 17:28:24 +0000 (11:28 -0600)]
layers: Set helpers as static inline
static inline allows the code to be unused
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 15:50:18 +0000 (09:50 -0600)]
layers: make log_msg format log strings for perf
Performance analysis showed a lot of time being spent
formating unused log messages (particularly INFO). By
moving the formatting into the logging function we can
only do the formatting if the message will be used.
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 03:48:26 +0000 (21:48 -0600)]
layers: Ifdef out debug code
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 03:40:22 +0000 (21:40 -0600)]
mem_tracker: Add some more debug code
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 03:39:35 +0000 (21:39 -0600)]
mem_tracker: Use dispatch access functions
Hopefully makes code easier to read when using the
dispatch table access functions.
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 03:37:34 +0000 (21:37 -0600)]
mem_tracker: Need dispatch object for logging
Needed to make sure we had a dispatchable object to
perform logging. Can't trust that mem or object are
correct, so have caller pass in user's dispatchable object.
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 03:36:49 +0000 (21:36 -0600)]
mem_tracker: Add debug asserts
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 03:29:26 +0000 (21:29 -0600)]
mem_tracker: Initialize new mem record
Need to intialize the record put on the list.
Removed the unused, newed record.
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 03:23:09 +0000 (21:23 -0600)]
draw_state: Update to use private dispatch map
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 03:22:12 +0000 (21:22 -0600)]
layers: Use static dispatch table maps
Changes to use dispatch table access functions.