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.
Courtney Goeltzenleuchter [Mon, 8 Jun 2015 21:09:22 +0000 (15:09 -0600)]
loader: Fix DestroyInstance
Courtney Goeltzenleuchter [Mon, 8 Jun 2015 21:04:02 +0000 (15:04 -0600)]
loader: Add utility to return loader instance ptr
Courtney Goeltzenleuchter [Mon, 8 Jun 2015 20:58:39 +0000 (14:58 -0600)]
layers: Initialize debug_report instance proc table
Courtney Goeltzenleuchter [Mon, 8 Jun 2015 00:24:30 +0000 (18:24 -0600)]
loader: Increase library name length for safety
Jon Ashburn [Fri, 29 May 2015 01:16:58 +0000 (19:16 -0600)]
loader: Fix EnumeratePhysDev to handle less gpus than icd has and no mem leak
Also no longer wrap gpu objs of inst objs in CreateInstance.
Courtney Goeltzenleuchter [Sun, 7 Jun 2015 23:28:17 +0000 (17:28 -0600)]
loader: Only allow layer in chain once
If an application were to specify a "Validatio" layer
and the environment specified a ParamChecker layer
it was possible to load the same layer twice in
one chain. Layers don't like that can only be referenced
once and that's all they need to support multiple
extensions from the one layer.
This patch adds an alias pointer so that when putting
together the lists of available extensions the loader
can keep track of multiple extensions that are servied
by the same library. Also now create specific
activated_layers_list that contains only the list
of layers that need to be activated.
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.