Jon Ashburn [Thu, 17 Dec 2015 19:31:41 +0000 (12:31 -0700)]
loader: Fix compile error from rebase
Courtney Goeltzenleuchter [Wed, 16 Dec 2015 21:57:27 +0000 (14:57 -0700)]
loader: Fix comment leader on def files
Courtney Goeltzenleuchter [Wed, 16 Dec 2015 23:06:06 +0000 (16:06 -0700)]
layers: clean up mismatched sign warnings
Courtney Goeltzenleuchter [Wed, 16 Dec 2015 23:07:01 +0000 (16:07 -0700)]
layers: clean up bool vs. VkBool32 warnings
Courtney Goeltzenleuchter [Wed, 16 Dec 2015 23:08:08 +0000 (16:08 -0700)]
layers: clean up path without return warning
Courtney Goeltzenleuchter [Wed, 16 Dec 2015 23:08:44 +0000 (16:08 -0700)]
misc: fix comment
Courtney Goeltzenleuchter [Wed, 16 Dec 2015 23:19:46 +0000 (16:19 -0700)]
loader: fix mismatch size warning
Courtney Goeltzenleuchter [Thu, 17 Dec 2015 16:51:22 +0000 (09:51 -0700)]
loader: correct compiler warning
Fixed compiler warning of idx potentially being
undefined. Also added test to check if the code
took that path and return an error if that happens.
Courtney Goeltzenleuchter [Thu, 17 Dec 2015 16:53:29 +0000 (09:53 -0700)]
demos: Fix compiler warnings
gcc complains that return result is unused. This change
prevents the warning and should be a no-op otherwise.
Courtney Goeltzenleuchter [Thu, 10 Dec 2015 23:41:22 +0000 (16:41 -0700)]
debug_report: Update extension name
Courtney Goeltzenleuchter [Wed, 9 Dec 2015 22:48:16 +0000 (15:48 -0700)]
debug_report: rename object type and error bits
Conflicts:
demos/tri.c
layers/device_limits.cpp
layers/draw_state.cpp
layers/image.cpp
layers/mem_tracker.cpp
layers/param_checker.cpp
layers/vk_layer_logging.h
loader/debug_report.c
tests/layer_validation_tests.cpp
Courtney Goeltzenleuchter [Wed, 9 Dec 2015 19:26:34 +0000 (12:26 -0700)]
loader: save memory pointer before it's lost
The first time a library is loaded the code will
allocate space for the list. But if the dlopen fails
the pointer for that wasn't being saved and the next
call would get a segfault on a null pointer.
Now save the new pointer so it doesn't get lost.
Courtney Goeltzenleuchter [Wed, 9 Dec 2015 21:33:56 +0000 (14:33 -0700)]
debug_report: rename vk_lunarg_debug_report.h
Courtney Goeltzenleuchter [Thu, 3 Dec 2015 20:50:49 +0000 (13:50 -0700)]
vulkaninfo: Register a callback at CreateInstance
Add the CreateInstance callback to demonstrate the use of that
limited-time callback mechanism.
Courtney Goeltzenleuchter [Thu, 3 Dec 2015 20:48:01 +0000 (13:48 -0700)]
loader: Enable callbacks from loader_log
Need to have the instance pointer to find
the list of callbacks.
Anything that happens before CreateInstance is invisible to
the application. For that reason, I've left in the
environment variable logging.
Courtney Goeltzenleuchter [Thu, 3 Dec 2015 20:45:51 +0000 (13:45 -0700)]
loader: use callbacks from CreateInstance
If an application links a VkDebugReportCreateInfo
structure to the InstanceCreateInfo structure the
loader will log the callback for the duration of
the CreateInstance call. This allows the app
to catch any loader issues detected at CreateInstance
time.
Courtney Goeltzenleuchter [Wed, 2 Dec 2015 22:29:33 +0000 (15:29 -0700)]
loader: utils for managing debug report events
Now need to create & destroy callbacks as part of
vkCreateInstance, so refactor debug_report entries
into API function and work function that can be
used from the loader.
Conflicts:
loader/debug_report.c
Courtney Goeltzenleuchter [Wed, 2 Dec 2015 21:53:22 +0000 (14:53 -0700)]
misc: Update copyright statements
Courtney Goeltzenleuchter [Wed, 2 Dec 2015 21:00:19 +0000 (14:00 -0700)]
loader: Adjust internal naming to match API naming
Now that we've settled on EnumerateInstance* and
EnumerateDevice* we can change the internal function
names in the loader that were global and physical_device
to instance and device to make it more clear what's
being used by the function.
Courtney Goeltzenleuchter [Tue, 1 Dec 2015 21:11:38 +0000 (14:11 -0700)]
cube: Update debug report support
Add break callback (it's been removed from the extension).
Grab function pointer for DebugReportMessageLUNARG.
Courtney Goeltzenleuchter [Tue, 1 Dec 2015 21:10:55 +0000 (14:10 -0700)]
layers: Add support for DebugReportMessageLUNARG
Courtney Goeltzenleuchter [Tue, 1 Dec 2015 21:08:28 +0000 (14:08 -0700)]
layers: export debug_report extension
Need the EnumerateInstanceExtensionProperties to report
support for the debug report extension as well as in
the json file because different platforms will use either
the json file (Windows & Linux) or the Enumerate call (Android).
Courtney Goeltzenleuchter [Mon, 30 Nov 2015 19:14:06 +0000 (12:14 -0700)]
layers: declare support for DEBUG_REPORT extension
Have layers that support the debug_report extension
(all validation layers) include that extension in
it's extension list.
Courtney Goeltzenleuchter [Tue, 1 Dec 2015 16:53:13 +0000 (09:53 -0700)]
vkinfo: Clean up output formatting
Jon Ashburn [Wed, 16 Dec 2015 22:22:10 +0000 (15:22 -0700)]
loader: debug_report terminator functions use cast to get loader instance
Courtney Goeltzenleuchter [Mon, 30 Nov 2015 22:28:25 +0000 (15:28 -0700)]
debug_report: Add DebugReportMessage function
Courtney Goeltzenleuchter [Mon, 30 Nov 2015 22:24:56 +0000 (15:24 -0700)]
nulldrv: export device extension
The device extension list was reporting the instance swapchain
extension. It needs to be the device version. Also renamed
the extension arrays to have names that make it easier to
see what they encompass.
Courtney Goeltzenleuchter [Mon, 30 Nov 2015 22:22:41 +0000 (15:22 -0700)]
debug_report: make destroy have void return value
Courtney Goeltzenleuchter [Mon, 30 Nov 2015 19:13:14 +0000 (12:13 -0700)]
debug_report: rename and update to use CreateInfo
Courtney Goeltzenleuchter [Wed, 25 Nov 2015 21:07:05 +0000 (14:07 -0700)]
debug_report: Rename VkDbgMsgCallback object
Courtney Goeltzenleuchter [Wed, 2 Dec 2015 16:15:31 +0000 (09:15 -0700)]
nulldrv: Update to latest extension names
Mark Lobodzinski [Thu, 17 Dec 2015 16:24:14 +0000 (09:24 -0700)]
layers: Remove validation errors for CmdBindPipeline during active render pass
CmdBindPipeline can be inside OR outside a render pass.
Mark Lobodzinski [Thu, 17 Dec 2015 00:47:28 +0000 (17:47 -0700)]
layers: Fix find-first-set bitscan util
On win32, was using leading-zero count instead of find-first-set.
Caused random failures on Windows release builds.
Mark Lobodzinski [Wed, 16 Dec 2015 21:25:22 +0000 (14:25 -0700)]
layers: Work around Windows release build crash in cube
DrawState validate_pipeline_shaders is doing something uncool.
Tony Barbour [Wed, 16 Dec 2015 21:57:33 +0000 (14:57 -0700)]
Remove FindPkgConfig from Windows build to stop error messages
Mark Lobodzinski [Mon, 14 Dec 2015 22:14:10 +0000 (15:14 -0700)]
layers: LX235, Validate all Pipeline VBOs for CommandBuffers
Validation was throwing errors if a CB had extra VBOs bound, and was not
checking each VBO binding explicitly.
Conflicts:
layers/draw_state.cpp
tests/layer_validation_tests.cpp
Mark Lobodzinski [Tue, 15 Dec 2015 16:25:29 +0000 (09:25 -0700)]
wsi: Do not enable Xlib support by default
Jon Ashburn [Tue, 15 Dec 2015 19:45:33 +0000 (12:45 -0700)]
demos: Fix build warning on Linux for tri
GregF [Tue, 15 Dec 2015 18:23:43 +0000 (11:23 -0700)]
cube and tri: change shader version numbers to 400
Tony Barbour [Tue, 15 Dec 2015 17:24:45 +0000 (10:24 -0700)]
layers: Remove extra increment in DrawState vkCmdNextSubpass
Jon Ashburn [Tue, 15 Dec 2015 15:47:46 +0000 (08:47 -0700)]
demos: Fix cube for missing dbgBreakCallback which has been removed from loader
Courtney Goeltzenleuchter [Mon, 30 Nov 2015 18:52:06 +0000 (11:52 -0700)]
debug_report: Make pUserData always a const
This prevents compiler warnings.
Courtney Goeltzenleuchter [Wed, 25 Nov 2015 21:31:49 +0000 (14:31 -0700)]
layers: Add allocator to layer init functions
Conflicts:
layers/shader_checker.cpp
Courtney Goeltzenleuchter [Wed, 25 Nov 2015 21:35:26 +0000 (14:35 -0700)]
loader: Remove unused function
Courtney Goeltzenleuchter [Wed, 25 Nov 2015 20:52:54 +0000 (13:52 -0700)]
nulldrv: Add swapchain "support" to nulldrv
This allows us to use the null driver ICD in place of
a real ICD for loader & layer development.
Courtney Goeltzenleuchter [Wed, 25 Nov 2015 20:50:00 +0000 (13:50 -0700)]
loader: Remove unused debug helper functions
Helper functions weren't considered essential to the
debug_report extension and will be moved to a library.
Jon Ashburn [Tue, 15 Dec 2015 14:59:20 +0000 (07:59 -0700)]
layers: Fix debug_report extension number
Courtney Goeltzenleuchter [Wed, 25 Nov 2015 20:40:37 +0000 (13:40 -0700)]
layers: Rename VK_DEBUG_REPORT_EXTENSION enums
Jon Ashburn [Tue, 15 Dec 2015 16:07:26 +0000 (09:07 -0700)]
layers: Fix debugReport object type in draw_state
Courtney Goeltzenleuchter [Wed, 25 Nov 2015 18:38:54 +0000 (11:38 -0700)]
layers: rename VkDbgObjectType
VkDebugReportObjectTypeLUNARG fits the extension naming requirements
Courtney Goeltzenleuchter [Wed, 25 Nov 2015 17:30:56 +0000 (10:30 -0700)]
layers: Rename DebugReport flags
Conflicts:
layers/mem_tracker.cpp
Conflicts:
layers/draw_state.cpp
Jon Ashburn [Mon, 14 Dec 2015 21:59:20 +0000 (14:59 -0700)]
vulkan: Changes for header version 211
Add anisotropyEnable to VkSamplerCreateInfo.
Add inheritedQueries to VkPhysicalDeviceFeatures
GregF [Mon, 14 Dec 2015 22:15:53 +0000 (15:15 -0700)]
SPV Toolchain: Pickup latest LunarGLASS fix
Mark Lobodzinski [Mon, 14 Dec 2015 22:47:36 +0000 (15:47 -0700)]
demos: Update command pool flags for implicit resets in tri.c
Tobin Ehlis [Mon, 14 Dec 2015 20:46:38 +0000 (13:46 -0700)]
layers: Add DrawState checks for correct CmdBuffer reset
Can only reset individual CmdBuffers if they are allocated from a pool that
included the VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT. Also need to
intercept vkResetCommandPool() function and make sure that all individual
CmdBuffers allocated from that pool are reset when called. Finally, updated
naming of cmdBuffer states (RECORDING & RECORDED) to more closely match spec.
Jon Ashburn [Mon, 14 Dec 2015 15:52:14 +0000 (08:52 -0700)]
loader: Fix physical device cast for enumerate properties trampoline code
Enumerate layer and extension properties don't always call down chain
so can't just cast physical device to the loader struct. Must search for it
in cases where a layer wrapped it.
Jon Ashburn [Sat, 12 Dec 2015 00:11:43 +0000 (17:11 -0700)]
demos: Fix free queue so no use of it after free in vulkaninfo
tobine [Fri, 11 Dec 2015 18:41:32 +0000 (11:41 -0700)]
layers: Updates to vk_validation_layer_details.md
Remove a couple of tasks that have been completed and fix a couple typos.
Mark Lobodzinski [Thu, 10 Dec 2015 23:25:21 +0000 (16:25 -0700)]
wsi: Make WSI cases more consistent, fail if not set correctly
Filled in build details for Mir, Wayland, etc.
Michael Lentine [Wed, 9 Dec 2015 22:33:52 +0000 (14:33 -0800)]
android: Update build to define android platform at build time
Michael Lentine [Tue, 8 Dec 2015 23:41:43 +0000 (15:41 -0800)]
android: Change utils to a static lib for easier disto.
Michael Lentine [Thu, 3 Dec 2015 22:33:09 +0000 (14:33 -0800)]
android: Fix android build.
Temporarily disable shader checker which now depends on glslang
Fix xcb guards and set the ifdef based on platform
GregF [Fri, 11 Dec 2015 17:11:28 +0000 (10:11 -0700)]
SPV toolchain: update for SDK 0.10.1
Mark Lobodzinski [Fri, 11 Dec 2015 21:55:11 +0000 (14:55 -0700)]
layers: LX234, Fix memory validation for VK_WHOLE_SIZE in memory ranges
Mark Lobodzinski [Fri, 11 Dec 2015 18:56:07 +0000 (11:56 -0700)]
layers: LX232, Add contstructor for DrawState struct
PIPELINE_NODE was getting treated as POD with memcpy/memsets.
Mark Lobodzinski [Fri, 11 Dec 2015 18:23:07 +0000 (11:23 -0700)]
layers: LX231, Fix DeviceLimits windows JSON file
Mark Lobodzinski [Fri, 11 Dec 2015 18:17:49 +0000 (11:17 -0700)]
layers: LX230, Complete initialization of MEM_OBJ_INFO structure
Fields added to MemTracker struct were not initialized
Mark Lobodzinski [Fri, 11 Dec 2015 18:05:33 +0000 (11:05 -0700)]
layers: LX229, Fix swapchain layer imageArrayLayers caps check
Jon Ashburn [Fri, 11 Dec 2015 17:45:00 +0000 (10:45 -0700)]
loader: Fix bug where dynamic dispatch for layer dev exts needs to come later
GetDeviceProcAddr dynamic dispatch init was happening too soon before layer
device extension was enabled. Fix it.
Jon Ashburn [Fri, 11 Dec 2015 16:41:34 +0000 (09:41 -0700)]
loader: In CreateDevice trampoline code allow wrapped PhysicalDevice objects
It was assuming object was not wrapped. Now look up object in instance structure
based on dispatch table pointer.
Michael Worcester [Thu, 10 Dec 2015 18:06:24 +0000 (18:06 +0000)]
Add an 'all' debug flag
Jon Ashburn [Fri, 11 Dec 2015 02:12:21 +0000 (19:12 -0700)]
layers: Some debug_marker fixes for draw state
Jon Ashburn [Fri, 11 Dec 2015 01:20:52 +0000 (18:20 -0700)]
layers: Add device extension entrypoints to JSON bug #15012
Jon Ashburn [Fri, 11 Dec 2015 01:17:34 +0000 (18:17 -0700)]
loader: Add support for device extension entrypoints in layer JSON files
Bugzilla #15012
Jon Ashburn [Thu, 10 Dec 2015 15:51:10 +0000 (08:51 -0700)]
loader: Convert ext list helper functions to generic form
This allows future changes where the device and instance ext lists are different
types.
BogDan Vatra [Thu, 10 Dec 2015 07:35:08 +0000 (09:35 +0200)]
Fix crash: pApplicationInfo is not mandatory
Courtney Goeltzenleuchter [Thu, 19 Nov 2015 22:19:56 +0000 (15:19 -0700)]
nulldrv: Create icd json file for nulldrv
Courtney Goeltzenleuchter [Mon, 30 Nov 2015 19:16:05 +0000 (12:16 -0700)]
nulldrv: Add json for null driver
The null driver is useful for testing code changes in
layers and the loader that don't depend on a real ICD
so add a json file to make it easier to use.
Courtney Goeltzenleuchter [Tue, 17 Nov 2015 20:17:12 +0000 (13:17 -0700)]
misc: Update dependencies
Jon Ashburn [Tue, 8 Dec 2015 23:36:22 +0000 (16:36 -0700)]
demos: Fix bug in tri so it uses a realloc callback since it uses alloc callback
Mark Lobodzinski [Tue, 8 Dec 2015 20:47:14 +0000 (13:47 -0700)]
layers: LX222, suppress warning on partial CmdClearAttachment calls
Drawstate will warn if this call is made in a renderpass BEFORE making a draw
call. However, this is OK if only a subset of the attachment is being cleared.
David Pinedo [Tue, 8 Dec 2015 18:52:30 +0000 (11:52 -0700)]
Layers: changed one more doc file for new layer names
David Pinedo [Tue, 8 Dec 2015 00:49:43 +0000 (17:49 -0700)]
Loader doc: Modifed WindowsICDs.txt
Mark Lobodzinski [Mon, 7 Dec 2015 22:55:11 +0000 (15:55 -0700)]
layers: LX223, Properly handle NULL pipelineCache in pipeline create routines
ObjectTracker was choking on null compute pipeline caches. Disabled validation check
on null pipelineCaches for ONLY Create[Compute|Graphics]Pipelines APIs.
Mark Lobodzinski [Fri, 4 Dec 2015 17:11:56 +0000 (10:11 -0700)]
layers: Wrap up windows/test issues with DrawState/ShaderChecker merge
Tobin Ehlis [Thu, 3 Dec 2015 16:40:56 +0000 (09:40 -0700)]
layers: MR77, Add draw-time checks for descriptorSet compatibility
When PSO is created, gather the group of sets that are actually used by that PSO.
Then, at Draw time, verify that for each set used by the bound PSO, there is a
corresponding valid descriptorSet bound which also matches the associated
setLayout from the PSO's pipelineLayout. Added two more tests to the
DescriptorSetCompatibility test case to verify that these checks correctly fire.
Tobin Ehlis [Wed, 2 Dec 2015 20:53:34 +0000 (13:53 -0700)]
layers: MR75, Smart Merge of DrawState and ShaderChecker into DrawState layer
Cleaned up the merge to share data structs. Both layers had maps of descriptorSetLayouts,
pipelineLayouts and renderPasses so merged those into single map for each.
Tobin Ehlis [Tue, 1 Dec 2015 16:48:58 +0000 (09:48 -0700)]
layers: MR75, Merge DrawState and ShaderChecker into DrawState layer
This is the initial "dumb" merge where a few data structures are now duplicated
within DrawState. This is intentional to simplify the transition and a follow-on
commit will fix these inefficiencies.
Conflicts:
layers/draw_state.cpp
Tobin Ehlis [Tue, 1 Dec 2015 16:57:09 +0000 (09:57 -0700)]
tests: MR72, Add tests to verify validation layout compatibility checks
Conflicts:
layers/draw_state.cpp
Tony Barbour [Fri, 4 Dec 2015 20:24:39 +0000 (13:24 -0700)]
Make sure all createInfo is used creating instance
FslNopper [Tue, 1 Dec 2015 12:17:34 +0000 (13:17 +0100)]
Fixes, that build is possible with Xlib configuration.
Courtney Goeltzenleuchter [Thu, 3 Dec 2015 17:47:42 +0000 (10:47 -0700)]
misc: remove unneeded stdint.h and stdbool.h
All the necessary platform defines/includes are now part of
vk_platform.h, so don't need them in vk_icd.h
Mark Lobodzinski [Thu, 3 Dec 2015 22:42:32 +0000 (15:42 -0700)]
layers: Reenable memory barrier validation
Mark Lobodzinski [Wed, 2 Dec 2015 23:12:08 +0000 (16:12 -0700)]
layers: Fix WSI-related build warning in APIDump
Xcb parameter was uint32_t, interpreted as void*.
Mark Lobodzinski [Wed, 2 Dec 2015 20:26:07 +0000 (13:26 -0700)]
demos: Fix ObjectTracker error in cube demo
Jon Ashburn [Wed, 2 Dec 2015 14:57:09 +0000 (07:57 -0700)]
demos: Update vulkaninfo so it prints a single number for layer version
David Pinedo [Wed, 2 Dec 2015 00:25:01 +0000 (17:25 -0700)]
Doc: change api_version and layer names in documentation files
Jon Ashburn [Wed, 2 Dec 2015 00:11:02 +0000 (17:11 -0700)]
loader: Fix layer library_path bug
Cody Northrop [Mon, 30 Nov 2015 20:40:50 +0000 (13:40 -0700)]
toolchain: Add option to only build glslang
New usage:
update_external_sources.sh -g
or:
update_external_sources.sh --glslang-only
Building LunarGLASS by default takes a long time on systems that don't
need it.
Jon Ashburn [Tue, 1 Dec 2015 00:21:25 +0000 (17:21 -0700)]
loader: Add initialization of loader dispatch table for wsi device extensions
Since we had trampoline code for these, layers were getting skipped when called
thru the trampoline code.