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.
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 03:18:30 +0000 (21:18 -0600)]
layers: utilities for layer storage
Have defined tableMap and tableInstanceMap as
static here to prevent layers from accidentally using
a common map. Moved all the access functions here as well
to be able to access the static maps.
Added destroy functions to eliminate last of references
to tableMap and tableInstanceMap maps outside this file.
Courtney Goeltzenleuchter [Sat, 13 Jun 2015 17:18:17 +0000 (11:18 -0600)]
layers: per-instance data helpers
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 18:03:26 +0000 (12:03 -0600)]
mem_tracker: add per-instance persistent data
Courtney Goeltzenleuchter [Sun, 14 Jun 2015 17:59:07 +0000 (11:59 -0600)]
loader: Set some log messages as debug messages
Courtney Goeltzenleuchter [Thu, 11 Jun 2015 22:01:11 +0000 (16:01 -0600)]
memtracker: Add persistent storage
This patch eliminates global variables and accesses
everything through pre-instance or per-device storage.
Have basic template supporting get_my_data_ptr function working.
Courtney Goeltzenleuchter [Thu, 11 Jun 2015 21:58:51 +0000 (15:58 -0600)]
debug_report: Utilities for layers to use
This header is intended to be used by all validation
layers and provides the necessary functions to process
DEBUG_REPORT messages and generate callbacks.
This is intended for layers implementing per instance / device
storage.
Courtney Goeltzenleuchter [Thu, 11 Jun 2015 21:56:14 +0000 (15:56 -0600)]
debug_report: Add error codes
Add error codes for messages the debug report layer
can generate.
Jon Ashburn [Tue, 9 Jun 2015 17:27:20 +0000 (11:27 -0600)]
loader: Fix device layer activation to properly filter out repeat layers
Jon Ashburn [Mon, 8 Jun 2015 22:38:48 +0000 (16:38 -0600)]
loader: Move device dispatch table to CreateDevice from EnumeratePhysDev
For now just have a static array for these will fix this in later commit
Conflicts:
loader/loader.c
Jon Ashburn [Mon, 8 Jun 2015 20:38:28 +0000 (14:38 -0600)]
loader: Remove GetGlobalExtensionInfo from dispatch table
No way to reliably dispatch this entry point in layers; will not be recursive.
Conflicts:
loader/loader.c
Courtney Goeltzenleuchter [Tue, 9 Jun 2015 15:44:13 +0000 (09:44 -0600)]
loader: Remove linefeed from log messages
The output function already puts in linefeeds.
Courtney Goeltzenleuchter [Tue, 9 Jun 2015 15:42:23 +0000 (09:42 -0600)]
loader: Use type flags not code for filter
Courtney Goeltzenleuchter [Tue, 9 Jun 2015 15:15:40 +0000 (09:15 -0600)]
loader: clean up dead code
Courtney Goeltzenleuchter [Tue, 9 Jun 2015 15:14:48 +0000 (09:14 -0600)]
loader: only search for layers
Courtney Goeltzenleuchter [Tue, 9 Jun 2015 15:08:54 +0000 (09:08 -0600)]
loader: remove now unused hosted field
Courtney Goeltzenleuchter [Tue, 9 Jun 2015 14:45:23 +0000 (08:45 -0600)]
bug-13466: Implement comment #14
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=13466
Jon Ashburn [Thu, 4 Jun 2015 21:30:58 +0000 (15:30 -0600)]
loader: Add error messages if layer libraries fail to load
Jon Ashburn [Mon, 1 Jun 2015 16:02:09 +0000 (10:02 -0600)]
layers: Make dispatch table thread safe
Jon Ashburn [Mon, 1 Jun 2015 15:37:38 +0000 (09:37 -0600)]
layers: Fix DrawState and ParamChecker to only use debug_marker if enabled
Jon Ashburn [Fri, 29 May 2015 19:15:39 +0000 (13:15 -0600)]
loader: Make global functions (instance chain entrypoints) thread safe
Jon Ashburn [Fri, 29 May 2015 15:12:28 +0000 (09:12 -0600)]
layer: Remove EnumerateLayers
Jon Ashburn [Fri, 29 May 2015 01:25:20 +0000 (19:25 -0600)]
loader: Remove storage of wrappedGPUs only need during layer activation
Courtney Goeltzenleuchter [Mon, 8 Jun 2015 21:13:50 +0000 (15:13 -0600)]
loader: add debug log message
Courtney Goeltzenleuchter [Mon, 8 Jun 2015 21:11:18 +0000 (15:11 -0600)]
loader: Add LOADER_DEBUG environment flags
The loader_log function now uses a global flag to
determine which log messages to echo to stderr.
The flags can be set by setting the LOADER_DEBUG
environment variable to colon separate list of
tokens.