Courtney Goeltzenleuchter [Sun, 7 Jun 2015 23:27:46 +0000 (17:27 -0600)]
debug_report: Add debug message flag
Courtney Goeltzenleuchter [Sun, 7 Jun 2015 23:27:05 +0000 (17:27 -0600)]
loader: Remove obsolete extension / layer code
Courtney Goeltzenleuchter [Sun, 7 Jun 2015 23:24:20 +0000 (17:24 -0600)]
layer: Generic is not a validation layer
Remove the Validation extension definition for the
generated generic example layer.
Courtney Goeltzenleuchter [Thu, 4 Jun 2015 22:20:06 +0000 (16:20 -0600)]
vulkaninfo: Update to new extension mechanism
Courtney Goeltzenleuchter [Thu, 4 Jun 2015 17:35:43 +0000 (11:35 -0600)]
vulkan: Fix for bug 13785.
Implement proposal in comment #3.
Agreed in June '15 Khronos face-to-face
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 21:10:03 +0000 (15:10 -0600)]
nulldriver: Update to new VkExtensionProperties
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:52:57 +0000 (14:52 -0600)]
layers: Update generator for DEBUG_REPORT
Generated layers that support DEBUG_REPORT
now need to intercept CreateInstance and call the
appropriate DEBUG_REPORT layer helper functions.
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:49:17 +0000 (14:49 -0600)]
loader: Fix code format, add some debug info
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:46:33 +0000 (14:46 -0600)]
shader_checker: Use DEBUG_REPORT helper functions
Include and use DEBUG_REPORT layer helper functions
for create, destroy and GetInstanceProcAddr.
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:45:27 +0000 (14:45 -0600)]
param_checker: Use DEBUG_REPORT extension helpers
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:43:18 +0000 (14:43 -0600)]
mem_tracker: DEBUG_REPORT handled by helper functions
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:42:43 +0000 (14:42 -0600)]
mem_tracker: DEBUG_REPORT is global, do not use in CreateDevice
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:41:49 +0000 (14:41 -0600)]
mem_tracker: Updates to match latest loader changes
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:34:25 +0000 (14:34 -0600)]
draw_state: Add validation extension record
To make things easier for applications the validation
layers will advertise support for two extensions.
The named extension (i.e. DRAW_STATE) is used if the
app only wants to enable this specific layer / extension.
If an app wants to enable all Validation layers they
simply include all VkExtensionProperties who's name is
"Validation". This patch adds this extension to this
layer.
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:33:14 +0000 (14:33 -0600)]
draw_state: Add support for DEBUG_REPORT
DrawState can report errors it details via the
DEBUG_REPORT extension. This patch updates
DrawState so that it uses the DEBUG_REPORT
extension if it is enabled.
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:29:58 +0000 (14:29 -0600)]
draw_state: Add CreateInstance support
Layers need to intercept CreateInstance in order
to see what's been enabled on the Instance chain.
As this layer supports DEBUG_REPORT extension it
needs to know if that has been enabled or not.
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:25:09 +0000 (14:25 -0600)]
loader: remove dependency fields from extension info
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:12:42 +0000 (14:12 -0600)]
loader: Remove resolved TODOs
Update comments and remove TODOs that are done.
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:10:21 +0000 (14:10 -0600)]
loader: Remove unused functions
Now that we are using the full VkExtensionProperties
structure to designate extensions needed new query functions
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:09:34 +0000 (14:09 -0600)]
loader: Put static function prototypes in .c
Courtney Goeltzenleuchter [Thu, 18 Jun 2015 02:51:59 +0000 (20:51 -0600)]
loader: Add support for debug report
Jon Ashburn [Thu, 28 May 2015 22:25:02 +0000 (16:25 -0600)]
loader: Support layers that don't have an extension entrypoint
Change all layers and loader interface to init dispatch tables on
GPA("GetXXXProcAddr"). After that initialization rest of dispatch
tables are inited via unwrapped object using the GPA in the dispatch
table. This also allows App generated GPA calls that the loader can't resolve
to function correctly.
Jon Ashburn [Wed, 27 May 2015 19:19:22 +0000 (13:19 -0600)]
loader: Fix info string of device versus instance layer being added
Mark Lobodzinski [Tue, 26 May 2015 17:16:22 +0000 (12:16 -0500)]
layers: Fixed dispatch table teardown issues in ObjectTracker
Table pointers need to be saved before tables destroyed.
Mark Lobodzinski [Tue, 26 May 2015 15:58:40 +0000 (10:58 -0500)]
layers: Add multi-device/instance support to param checker layer
Conflicts:
layers/param_checker.cpp
Mark Lobodzinski [Tue, 26 May 2015 14:29:09 +0000 (09:29 -0500)]
layers: Add multi-device/instance support to APIDump layer
Jon Ashburn [Tue, 26 May 2015 19:57:35 +0000 (13:57 -0600)]
loader: Add wsi extension to loader's list of global extensions
Jon Ashburn [Tue, 26 May 2015 19:56:43 +0000 (13:56 -0600)]
loader: Fix debug_report utility functions string names to be consistent
Mark Lobodzinski [Fri, 22 May 2015 19:15:36 +0000 (14:15 -0500)]
layers: Add multi-device/instance support to generated layers
- Converted Generic and ObjectTracker to C++
- Added multi-device/instance support to objecttracker, generic,
and threading layers
- Various cleanup and efficiency changes
- Paramchecker and apidump layers disabled temporarily
Conflicts:
vk-layer-generate.py
Mark Lobodzinski [Wed, 20 May 2015 21:16:37 +0000 (16:16 -0500)]
layers: Multi-device/instance support for Memtracker.
Conflicts:
layers/mem_tracker.cpp
Jon Ashburn [Mon, 25 May 2015 20:11:37 +0000 (14:11 -0600)]
misc: Make DEBUG_MARKER entrypoints a device extension with separate dispatch
Right now only DrawState and ParamChecker implement this extension.
Jon Ashburn [Fri, 22 May 2015 18:01:50 +0000 (12:01 -0600)]
genericLayer: Fix generation code
Courtney Goeltzenleuchter [Sat, 23 May 2015 00:56:22 +0000 (18:56 -0600)]
loader: simplify wrapping setup
Courtney Goeltzenleuchter [Tue, 12 May 2015 21:17:04 +0000 (15:17 -0600)]
debug: remove old debug extension header
Courtney Goeltzenleuchter [Wed, 10 Jun 2015 23:39:03 +0000 (17:39 -0600)]
extensions: begin changes for extension support
This patch starts restructuring the various components
(loader, driver, layers, etc.) to support global and
device extensions. Require GetProcAddr to access the
extension functions and related support.
Courtney Goeltzenleuchter [Wed, 6 May 2015 00:18:29 +0000 (18:18 -0600)]
misc: Fix file permissions
Courtney Goeltzenleuchter [Wed, 6 May 2015 00:18:01 +0000 (18:18 -0600)]
misc: white space cleanup
Jon Ashburn [Fri, 22 May 2015 15:51:03 +0000 (09:51 -0600)]
loader: Return NULL for WSI entrypoints if extension not enabled
Courtney Goeltzenleuchter [Thu, 11 Jun 2015 02:39:06 +0000 (20:39 -0600)]
loader: FIXME - horrible WSI workaround
Courtney Goeltzenleuchter [Wed, 10 Jun 2015 23:52:04 +0000 (17:52 -0600)]
wsi: Fix icd lookup for WSI extension
Courtney Goeltzenleuchter [Wed, 10 Jun 2015 23:38:33 +0000 (17:38 -0600)]
tri: Use GetProcAddr to get GetDisplayInfoWSI fp
Courtney Goeltzenleuchter [Wed, 10 Jun 2015 23:33:55 +0000 (17:33 -0600)]
cube: Use GetProcAddr to get GetDisplayInfoWSI fp
Jon Ashburn [Fri, 22 May 2015 15:19:49 +0000 (09:19 -0600)]
loader: Use ICD's GetDeviceProcAddr as end of layer chain rather than loader's
If function name is unknown to loader and layers the old gpa_internal would
recurse without terminator. Use Driver's GPA as terminator.
Also simplifies code.
Jon Ashburn [Fri, 22 May 2015 00:13:33 +0000 (18:13 -0600)]
misc: Make wsi lunarg an extension rather than core entrypoints
Jon Ashburn [Thu, 21 May 2015 23:42:17 +0000 (17:42 -0600)]
loader: Fix for CreateInstance object created being pointer to pointer to disp
Jon Ashburn [Wed, 20 May 2015 15:00:28 +0000 (09:00 -0600)]
DrawState: Add support for multiple PhysicalDevices or Instances
Jon Ashburn [Tue, 19 May 2015 22:34:53 +0000 (16:34 -0600)]
layers: Add DestroyDevice and DestroyInstance hooking to deinitialize tables
Table maps need to get cleaned up at DestroyInstance and DestroyDevice
Jon Ashburn [Tue, 19 May 2015 20:33:18 +0000 (14:33 -0600)]
loader: make the instance dispatch table per instance
Jon Ashburn [Tue, 19 May 2015 16:05:54 +0000 (10:05 -0600)]
layers: GPA table initialization shouldn't recurse
Jon Ashburn [Mon, 18 May 2015 19:20:15 +0000 (13:20 -0600)]
misc: Change vkGetProcAddr to vkGetDeviceProcAddr
Also cleanup layer/loader GPA's to only return device level entrypoints.
Jon Ashburn [Mon, 18 May 2015 21:56:55 +0000 (15:56 -0600)]
object_tracker: Remove queues from global queueinfo list
Jon Ashburn [Mon, 18 May 2015 21:28:32 +0000 (15:28 -0600)]
loader: Remove GetGlobalExtensionInfo trampoline
Wasn't working correctly for now remove GetGlobalExtensionInfo from
the instance layer chain.
Jon Ashburn [Mon, 18 May 2015 15:08:41 +0000 (09:08 -0600)]
shader_checker: Eliminate redefinition of macro
Jon Ashburn [Mon, 18 May 2015 15:06:15 +0000 (09:06 -0600)]
misc: Remove validation bit from the CreateDevice flags
Jon Ashburn [Fri, 15 May 2015 23:15:39 +0000 (17:15 -0600)]
glave: Remove glave source files from this repo
Jon Ashburn [Fri, 15 May 2015 22:40:25 +0000 (16:40 -0600)]
layers: Use objects dispatch table for key to layer maps
Since the object may vary but the dispatch table may be same, use
dispatch table as the key to various table maps rather than emplace
method to add new map key. This eliminates the need for layers that support
multiple devices or instances to add entrypoints on the object creation calls.
Jon Ashburn [Fri, 15 May 2015 21:09:35 +0000 (15:09 -0600)]
misc: Loader and Layers move device chain activation to CreateDevice
Jon Ashburn [Thu, 14 May 2015 18:43:38 +0000 (12:43 -0600)]
loader: Move lookup of icd entrypoints to CreateInstance and add more lookups
Move the icd Vulkan entrypoint address lookups to CreateInstance and icd list
rather than in the scanned_icd list. Also add more instance chain entrypoints
Jon Ashburn [Wed, 13 May 2015 14:35:25 +0000 (08:35 -0600)]
layers: Fix rebase issues
Jon Ashburn [Tue, 12 May 2015 23:26:48 +0000 (17:26 -0600)]
loader: Activate layers on the instance chain at CreateInstance
Jon Ashburn [Tue, 12 May 2015 23:23:55 +0000 (17:23 -0600)]
layers: Use the instance chain for entrypoints with instance
Also add to instance dispatch table CreateInstance and GetGlobalExtensionInfo
Jon Ashburn [Fri, 8 May 2015 20:35:08 +0000 (14:35 -0600)]
loader: Remove unused icd/gpu_index from layer find functions
Jon Ashburn [Thu, 7 May 2015 16:27:37 +0000 (10:27 -0600)]
layers: Add initialization of instance dispatch table
Make the layer init separate from either device or instance dispatch
table init, since these are done at different times.
Jon Ashburn [Wed, 6 May 2015 20:49:55 +0000 (14:49 -0600)]
layers: Remove unused layer dispatch lookup generation
Jon Ashburn [Tue, 5 May 2015 22:18:18 +0000 (16:18 -0600)]
layers: Remove the layer intercept proc generated header
This is no longer used by any layers; instead vk-layer-generate.py adds
this code.
Jon Ashburn [Tue, 5 May 2015 20:22:52 +0000 (14:22 -0600)]
layers: Add GetInstanceProcAddr() to all layers
Loader will use this for constructing instance layer instance chains.
Layer instance dispatch table is not yet added.
Jon Ashburn [Mon, 4 May 2015 22:27:53 +0000 (16:27 -0600)]
loader: Make VkInstance a dispatchable object and init with instance table
Cody Northrop [Thu, 28 May 2015 17:27:16 +0000 (11:27 -0600)]
demos: Add --use_glsl option for GLSL, use SPIR-V by default.
Previously required a define in CMake. Since we have multiple drivers
and vendors that would like to test both, make it a command line option.
Cody Northrop [Thu, 28 May 2015 16:09:50 +0000 (10:09 -0600)]
cmake: Fix missing dependency in layers for Windows
First build of layers always failed to find layer_utils.
Cody Northrop [Fri, 5 Jun 2015 19:35:01 +0000 (13:35 -0600)]
demos: stop using gl_FragColor
Cody Northrop [Wed, 3 Jun 2015 17:52:35 +0000 (11:52 -0600)]
toolchain: Update to glslang 31490 and LunarGLASS 1091
Also contains commits:
Author: GregF <greg@LunarG.com>
Date: Thu May 28 09:30:14 2015 -0600
compiler: handle new builtIn enum in metadata
Author: Cody Northrop <cody@lunarg.com>
Date: Mon Jun 1 14:24:26 2015 -0600
compiler: Update backend for new sampler types and switches
Chris Forbes [Tue, 16 Jun 2015 23:36:12 +0000 (11:36 +1200)]
cube: Use render pass load ops for color clear
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Courtney Goeltzenleuchter <courtney@lunarg.com>
Mike Stroyan [Wed, 27 May 2015 19:09:15 +0000 (13:09 -0600)]
demos: use PRINTF_SIZE_T_SPECIFIER in vulkaninfo
Mike Stroyan [Mon, 15 Jun 2015 20:21:03 +0000 (14:21 -0600)]
demos: cube: use RGBA texture format uniformly
Use of VK_FORMAT_R8G8B8A8_UNORM image produced swizzled texture sampling.
Mike Stroyan [Mon, 15 Jun 2015 20:20:13 +0000 (14:20 -0600)]
demos: cube: use AdjustWindowRect for window size
This makes renderable area size consistent.
Mike Stroyan [Mon, 15 Jun 2015 20:19:19 +0000 (14:19 -0600)]
demos: tri: use AdjustWindowRect for window size
This makes renderable area size consistent.
Tobin Ehlis [Mon, 15 Jun 2015 14:47:50 +0000 (08:47 -0600)]
layers: Only print state at Draw calls, not at vkCmdBindDescriptorSets time.
Tobin Ehlis [Mon, 15 Jun 2015 14:41:17 +0000 (08:41 -0600)]
layers: When printing descriptor info in DrawState correctly handle case of 0 descriptors
Chris Forbes [Thu, 11 Jun 2015 23:16:41 +0000 (11:16 +1200)]
shader_checker: Check for duplicate VI binding descriptions.
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Tobin Ehlis <tobin@lunarg.com>
Tobin Ehlis [Thu, 11 Jun 2015 15:37:00 +0000 (09:37 -0600)]
layers: Xchange #54 fix - Update vk_helper.py string helper to handle arrays of enums
Tobin Ehlis [Wed, 10 Jun 2015 18:57:07 +0000 (12:57 -0600)]
layers: Migrate dynamic state checks to DrawState from ObjectTracker
Needed to improve the CB and DS state checks to cross-verify with PSO state. Since that state is already tracked in DrawState makes sense to move these checks over.
Tony Barbour [Thu, 11 Jun 2015 21:04:25 +0000 (15:04 -0600)]
layers: fix overrun when only one shader present
Tony Barbour [Wed, 10 Jun 2015 22:53:00 +0000 (16:53 -0600)]
tests: Document Image Magick dependency
Conflicts:
tests/CMakeLists.txt
Mark Lobodzinski [Thu, 11 Jun 2015 18:51:41 +0000 (13:51 -0500)]
layers: Fix compiler warning in ObjectTracker
Function validate_object should return VOID.
scygan [Mon, 1 Jun 2015 17:47:08 +0000 (19:47 +0200)]
Loader: search also through SysWow64 folder on windows
Courtney Goeltzenleuchter [Wed, 10 Jun 2015 22:16:22 +0000 (16:16 -0600)]
tri: Must destroy object before freeing it's memory
Due to spec change that makes a bound object immutable,
an object must be destroyed before any memory bound to
it is freed.
Tobin Ehlis [Tue, 9 Jun 2015 16:48:55 +0000 (10:48 -0600)]
layers: XChange #58 fix - Correctly copy Vtx Bindings
Tobin Ehlis [Tue, 9 Jun 2015 14:39:32 +0000 (08:39 -0600)]
layers: LunarXChange #55 fix - Only print DS state when we have last bound DS
Tobin Ehlis [Mon, 8 Jun 2015 23:36:28 +0000 (17:36 -0600)]
layers: Updated ObjectTrack to use std::map and perform some initial valid object checks on params
Chris Forbes [Tue, 9 Jun 2015 20:37:27 +0000 (08:37 +1200)]
shader_checker: fix invalid iterator dereference (LunarXchange #60)
V2: Fix broken logic; fix another case of the same problem in
interface between shader stages.
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Mike Stroyan [Mon, 8 Jun 2015 19:33:44 +0000 (13:33 -0600)]
demos: tri: Use vkCmdPipelineBarrier to setup_cmd
Chris Forbes [Fri, 5 Jun 2015 03:01:08 +0000 (15:01 +1200)]
shader_checker: Support pipelines with more stages, and be tolerant
- Don't assume the pipeline is just VS->FS.
- Be properly tolerant of non-SPIRV stages, to avoid breaking cases
where the driver is being fed GLSL source instead.
- Detect the non-SPIRV case more robustly (for whatever reason,
we feed the driver GLSL with a *correct* SPIRV magic on it...)
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Tobin Ehlis <tobin@lunarg.com>
Chris Forbes [Fri, 5 Jun 2015 02:57:05 +0000 (14:57 +1200)]
shader_checker: Add typechecker support for extra array level
In the VS->GS, VS->TCS, or TES->GS interfaces, the consuming side of the
interface is arrays of the producer's interface, as we're dealing with
an array of vertices. This requires a bit more care in the typechecker:
- Walking from the complete type down, the first time we see an array,
it's the array-of-verts case; strip it off and compare the LHS to the
element type.
- If we see a leaf type without encountering the array type node, then
we mismatch. For the purposes of this check, structs are treated as
leaves.
V2: Simplify slightly.
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Tobin Ehlis <tobin@lunarg.com>
Mark Lobodzinski [Fri, 5 Jun 2015 18:59:04 +0000 (13:59 -0500)]
vulkan.h: Memory binding model changes
Non-sparse memory bindings are immutable. Remove unbinding checks,
unbinding before free in demos/tests, and add validation check for
rebinding objects, appropriately renamed memtracker support routines.
malnasse [Wed, 3 Jun 2015 21:28:38 +0000 (17:28 -0400)]
Use correct depth aspect for depth image.
Chris Forbes [Thu, 4 Jun 2015 08:27:09 +0000 (20:27 +1200)]
shader_checker: Also validate vkCreateGraphicsPipelineDerivative
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Courtney Goeltzenleuchter <courtney@lunarg.com>
Chris Forbes [Thu, 4 Jun 2015 08:23:00 +0000 (20:23 +1200)]
shader_checker: Extract pipeline validation into own function
There's about to be a second caller.
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Courtney Goeltzenleuchter <courtney@lunarg.com>
Tony-LunarG [Thu, 4 Jun 2015 20:22:14 +0000 (14:22 -0600)]
Windows: Add vkUpdateDescriptorSets into exports for vulkan.dll
Chris Forbes [Wed, 3 Jun 2015 22:49:27 +0000 (10:49 +1200)]
Fix a bunch of mismatched new[]/delete.
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Chris Forbes [Mon, 25 May 2015 03:17:14 +0000 (15:17 +1200)]
shader_checker: remove stray debug output from typechecker implementation