platform/upstream/Vulkan-Tools.git
9 years agodebug_report: Add debug message flag
Courtney Goeltzenleuchter [Sun, 7 Jun 2015 23:27:46 +0000 (17:27 -0600)]
debug_report: Add debug message flag

9 years agoloader: Remove obsolete extension / layer code
Courtney Goeltzenleuchter [Sun, 7 Jun 2015 23:27:05 +0000 (17:27 -0600)]
loader: Remove obsolete extension / layer code

9 years agolayer: Generic is not a validation layer
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.

9 years agovulkaninfo: Update to new extension mechanism
Courtney Goeltzenleuchter [Thu, 4 Jun 2015 22:20:06 +0000 (16:20 -0600)]
vulkaninfo: Update to new extension mechanism

9 years agovulkan: Fix for bug 13785.
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

9 years agonulldriver: Update to new VkExtensionProperties
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 21:10:03 +0000 (15:10 -0600)]
nulldriver: Update to new VkExtensionProperties

9 years agolayers: Update generator for DEBUG_REPORT
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.

9 years agoloader: Fix code format, add some debug info
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:49:17 +0000 (14:49 -0600)]
loader: Fix code format, add some debug info

9 years agoshader_checker: Use DEBUG_REPORT helper functions
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.

9 years agoparam_checker: Use DEBUG_REPORT extension helpers
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:45:27 +0000 (14:45 -0600)]
param_checker: Use DEBUG_REPORT extension helpers

9 years agomem_tracker: DEBUG_REPORT handled by helper functions
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:43:18 +0000 (14:43 -0600)]
mem_tracker: DEBUG_REPORT handled by helper functions

9 years agomem_tracker: DEBUG_REPORT is global, do not use in CreateDevice
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:42:43 +0000 (14:42 -0600)]
mem_tracker: DEBUG_REPORT is global, do not use in CreateDevice

9 years agomem_tracker: Updates to match latest loader changes
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:41:49 +0000 (14:41 -0600)]
mem_tracker: Updates to match latest loader changes

9 years agodraw_state: Add validation extension record
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.

9 years agodraw_state: Add support for DEBUG_REPORT
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.

9 years agodraw_state: Add CreateInstance support
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.

9 years agoloader: remove dependency fields from extension info
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:25:09 +0000 (14:25 -0600)]
loader: remove dependency fields from extension info

9 years agoloader: Remove resolved TODOs
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.

9 years agoloader: Remove unused functions
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

9 years agoloader: Put static function prototypes in .c
Courtney Goeltzenleuchter [Mon, 1 Jun 2015 20:09:34 +0000 (14:09 -0600)]
loader: Put static function prototypes in .c

9 years agoloader: Add support for debug report
Courtney Goeltzenleuchter [Thu, 18 Jun 2015 02:51:59 +0000 (20:51 -0600)]
loader: Add support for debug report

9 years agoloader: Support layers that don't have an extension entrypoint
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.

9 years agoloader: Fix info string of device versus instance layer being added
Jon Ashburn [Wed, 27 May 2015 19:19:22 +0000 (13:19 -0600)]
loader: Fix info string of device versus instance layer being added

9 years agolayers: Fixed dispatch table teardown issues in ObjectTracker
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.

9 years agolayers: Add multi-device/instance support to param checker layer
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

9 years agolayers: Add multi-device/instance support to APIDump layer
Mark Lobodzinski [Tue, 26 May 2015 14:29:09 +0000 (09:29 -0500)]
layers: Add multi-device/instance support to APIDump layer

9 years agoloader: Add wsi extension to loader's list of global extensions
Jon Ashburn [Tue, 26 May 2015 19:57:35 +0000 (13:57 -0600)]
loader: Add wsi extension to loader's list of global extensions

9 years agoloader: Fix debug_report utility functions string names to be consistent
Jon Ashburn [Tue, 26 May 2015 19:56:43 +0000 (13:56 -0600)]
loader: Fix debug_report utility functions string names to  be consistent

9 years agolayers: Add multi-device/instance support to generated layers
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

9 years agolayers: Multi-device/instance support for Memtracker.
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

9 years agomisc: Make DEBUG_MARKER entrypoints a device extension with separate dispatch
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.

9 years agogenericLayer: Fix generation code
Jon Ashburn [Fri, 22 May 2015 18:01:50 +0000 (12:01 -0600)]
genericLayer: Fix generation code

9 years agoloader: simplify wrapping setup
Courtney Goeltzenleuchter [Sat, 23 May 2015 00:56:22 +0000 (18:56 -0600)]
loader: simplify wrapping setup

9 years agodebug: remove old debug extension header
Courtney Goeltzenleuchter [Tue, 12 May 2015 21:17:04 +0000 (15:17 -0600)]
debug: remove old debug extension header

9 years agoextensions: begin changes for extension support
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.

9 years agomisc: Fix file permissions
Courtney Goeltzenleuchter [Wed, 6 May 2015 00:18:29 +0000 (18:18 -0600)]
misc: Fix file permissions

9 years agomisc: white space cleanup
Courtney Goeltzenleuchter [Wed, 6 May 2015 00:18:01 +0000 (18:18 -0600)]
misc: white space cleanup

9 years agoloader: Return NULL for WSI entrypoints if extension not enabled
Jon Ashburn [Fri, 22 May 2015 15:51:03 +0000 (09:51 -0600)]
loader: Return NULL for WSI entrypoints if extension not enabled

9 years agoloader: FIXME - horrible WSI workaround
Courtney Goeltzenleuchter [Thu, 11 Jun 2015 02:39:06 +0000 (20:39 -0600)]
loader: FIXME - horrible WSI workaround

9 years agowsi: Fix icd lookup for WSI extension
Courtney Goeltzenleuchter [Wed, 10 Jun 2015 23:52:04 +0000 (17:52 -0600)]
wsi: Fix icd lookup for WSI extension

9 years agotri: Use GetProcAddr to get GetDisplayInfoWSI fp
Courtney Goeltzenleuchter [Wed, 10 Jun 2015 23:38:33 +0000 (17:38 -0600)]
tri: Use GetProcAddr to get GetDisplayInfoWSI fp

9 years agocube: 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

9 years agoloader: Use ICD's GetDeviceProcAddr as end of layer chain rather than loader's
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.

9 years agomisc: Make wsi lunarg an extension rather than core entrypoints
Jon Ashburn [Fri, 22 May 2015 00:13:33 +0000 (18:13 -0600)]
misc: Make wsi lunarg an extension rather than core entrypoints

9 years agoloader: Fix for CreateInstance object created being pointer to pointer to disp
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

9 years agoDrawState: Add support for multiple PhysicalDevices or Instances
Jon Ashburn [Wed, 20 May 2015 15:00:28 +0000 (09:00 -0600)]
DrawState: Add support for multiple PhysicalDevices or Instances

9 years agolayers: Add DestroyDevice and DestroyInstance hooking to deinitialize tables
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

9 years agoloader: make the instance dispatch table per instance
Jon Ashburn [Tue, 19 May 2015 20:33:18 +0000 (14:33 -0600)]
loader: make the instance dispatch table per instance

9 years agolayers: GPA table initialization shouldn't recurse
Jon Ashburn [Tue, 19 May 2015 16:05:54 +0000 (10:05 -0600)]
layers: GPA table initialization shouldn't recurse

9 years agomisc: Change vkGetProcAddr to vkGetDeviceProcAddr
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.

9 years agoobject_tracker: Remove queues from global queueinfo list
Jon Ashburn [Mon, 18 May 2015 21:56:55 +0000 (15:56 -0600)]
object_tracker: Remove queues from global queueinfo list

9 years agoloader: Remove GetGlobalExtensionInfo trampoline
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.

9 years agoshader_checker: Eliminate redefinition of macro
Jon Ashburn [Mon, 18 May 2015 15:08:41 +0000 (09:08 -0600)]
shader_checker: Eliminate redefinition of macro

9 years agomisc: Remove validation bit from the CreateDevice flags
Jon Ashburn [Mon, 18 May 2015 15:06:15 +0000 (09:06 -0600)]
misc: Remove validation bit from the CreateDevice flags

9 years agoglave: Remove glave source files from this repo
Jon Ashburn [Fri, 15 May 2015 23:15:39 +0000 (17:15 -0600)]
glave: Remove glave source files from this repo

9 years agolayers: Use objects dispatch table for key to layer maps
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.

9 years agomisc: Loader and Layers move device chain activation to CreateDevice
Jon Ashburn [Fri, 15 May 2015 21:09:35 +0000 (15:09 -0600)]
misc: Loader and Layers move device chain activation to CreateDevice

9 years agoloader: Move lookup of icd entrypoints to CreateInstance and add more lookups
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

9 years agolayers: Fix rebase issues
Jon Ashburn [Wed, 13 May 2015 14:35:25 +0000 (08:35 -0600)]
layers: Fix rebase issues

9 years agoloader: Activate layers on the instance chain at CreateInstance
Jon Ashburn [Tue, 12 May 2015 23:26:48 +0000 (17:26 -0600)]
loader: Activate layers on the instance chain at CreateInstance

9 years agolayers: Use the instance chain for entrypoints with instance
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

9 years agoloader: Remove unused icd/gpu_index from layer find functions
Jon Ashburn [Fri, 8 May 2015 20:35:08 +0000 (14:35 -0600)]
loader: Remove unused icd/gpu_index from layer find functions

9 years agolayers: Add initialization of instance dispatch table
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.

9 years agolayers: Remove unused layer dispatch lookup generation
Jon Ashburn [Wed, 6 May 2015 20:49:55 +0000 (14:49 -0600)]
layers: Remove unused layer dispatch lookup  generation

9 years agolayers: Remove the layer intercept proc generated header
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.

9 years agolayers: Add GetInstanceProcAddr() to all layers
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.

9 years agoloader: Make VkInstance a dispatchable object and init with instance table
Jon Ashburn [Mon, 4 May 2015 22:27:53 +0000 (16:27 -0600)]
loader: Make VkInstance a dispatchable object and init with instance table

9 years agodemos: Add --use_glsl option for GLSL, use SPIR-V by default.
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.

9 years agocmake: Fix missing dependency in layers for Windows
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.

9 years agodemos: stop using gl_FragColor
Cody Northrop [Fri, 5 Jun 2015 19:35:01 +0000 (13:35 -0600)]
demos: stop using gl_FragColor

9 years agotoolchain: Update to glslang 31490 and LunarGLASS 1091
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

9 years agocube: Use render pass load ops for color clear
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>
9 years agodemos: use PRINTF_SIZE_T_SPECIFIER in vulkaninfo
Mike Stroyan [Wed, 27 May 2015 19:09:15 +0000 (13:09 -0600)]
demos: use PRINTF_SIZE_T_SPECIFIER in vulkaninfo

9 years agodemos: cube: use RGBA texture format uniformly
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.

9 years agodemos: cube: use AdjustWindowRect for window size
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.

9 years agodemos: tri: use AdjustWindowRect for window size
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.

9 years agolayers: Only print state at Draw calls, not at vkCmdBindDescriptorSets time.
Tobin Ehlis [Mon, 15 Jun 2015 14:47:50 +0000 (08:47 -0600)]
layers: Only print state at Draw calls, not at vkCmdBindDescriptorSets time.

9 years agolayers: When printing descriptor info in DrawState correctly handle case of 0 descriptors
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

9 years agoshader_checker: Check for duplicate VI binding descriptions.
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>
9 years agolayers: Xchange #54 fix - Update vk_helper.py string helper to handle arrays of enums
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

9 years agolayers: Migrate dynamic state checks to DrawState from ObjectTracker
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.

9 years agolayers: fix overrun when only one shader present
Tony Barbour [Thu, 11 Jun 2015 21:04:25 +0000 (15:04 -0600)]
layers: fix overrun when only one shader present

9 years agotests: Document Image Magick dependency
Tony Barbour [Wed, 10 Jun 2015 22:53:00 +0000 (16:53 -0600)]
tests: Document Image Magick dependency

Conflicts:
tests/CMakeLists.txt

9 years agolayers: Fix compiler warning in ObjectTracker
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.

9 years agoLoader: search also through SysWow64 folder on windows
scygan [Mon, 1 Jun 2015 17:47:08 +0000 (19:47 +0200)]
Loader: search also through SysWow64 folder on windows

9 years agotri: Must destroy object before freeing it's memory
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.

9 years agolayers: XChange #58 fix - Correctly copy Vtx Bindings
Tobin Ehlis [Tue, 9 Jun 2015 16:48:55 +0000 (10:48 -0600)]
layers: XChange #58 fix - Correctly copy Vtx Bindings

9 years agolayers: LunarXChange #55 fix - Only print DS state when we have last bound DS
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

9 years agolayers: Updated ObjectTrack to use std::map and perform some initial valid object...
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

9 years agoshader_checker: fix invalid iterator dereference (LunarXchange #60)
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>
9 years agodemos: tri: Use vkCmdPipelineBarrier to setup_cmd
Mike Stroyan [Mon, 8 Jun 2015 19:33:44 +0000 (13:33 -0600)]
demos: tri: Use vkCmdPipelineBarrier to setup_cmd

9 years agoshader_checker: Support pipelines with more stages, and be tolerant
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>
9 years agoshader_checker: Add typechecker support for extra array level
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>
9 years agovulkan.h: Memory binding model changes
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.

9 years agoUse correct depth aspect for depth image.
malnasse [Wed, 3 Jun 2015 21:28:38 +0000 (17:28 -0400)]
Use correct depth aspect for depth image.

9 years agoshader_checker: Also validate vkCreateGraphicsPipelineDerivative
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>
9 years agoshader_checker: Extract pipeline validation into own function
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>
9 years agoWindows: Add vkUpdateDescriptorSets into exports for vulkan.dll
Tony-LunarG [Thu, 4 Jun 2015 20:22:14 +0000 (14:22 -0600)]
Windows: Add vkUpdateDescriptorSets into exports for vulkan.dll

9 years agoFix a bunch of mismatched new[]/delete.
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>
9 years agoshader_checker: remove stray debug output from typechecker implementation
Chris Forbes [Mon, 25 May 2015 03:17:14 +0000 (15:17 +1200)]
shader_checker: remove stray debug output from typechecker implementation