aboutsummaryrefslogtreecommitdiff
path: root/layers/image.cpp
AgeCommit message (Collapse)Author
2016-06-07layers: Add check for image usage in vkCmdClearColorImageTony Barbour
Change-Id: I7ba803a11de29e65ae65fbf0a0168561a2e6739f
2016-06-06layers: Add default layer error message configMark Lobodzinski
Allows layers to output error messages even if no vk_layer_settings.txt config file is present. Sets defaults to LOG_MSG, error, stdout. A layer settings file will override any default values. If no settings file is present and an app creates a debug callback, the default callbacks will be removed and unregistered. Change-Id: I49f37189665816df58c258b9e9629f2bf76751c8
2016-06-02layers: simplify v0 function implementationsChia-I Wu
Since each of the layer library contains only a layer, we can simplify v0 functions by making them wrappers to the contained layer's corresponding commands. While we have to make changes to each layer individually, all the changes should be the same in spirit. The exception is vk-layer-generate.py where the missing vkEnumerateDeviceExtensionProperties is also added.
2016-05-19layers: Replace is_depth() in image layer with util functionTobin Ehlis
vk_layer_utils has function vk_format_is_depth_or_stencil() that is exactly the same as local is_depth() function so kill local function and use utility function.
2016-05-19layers: GH535 Add checks for Clear image errorsTobin Ehlis
This adds two new checks to make sure that CmdClearColorImage is not called with depth/stencil format image and that CmdClearDepthStencilImage is not called with color format image. Also add getImageState() helper function to image layer to simplify/unify code for lookup of IMAGE_STATE from imageMap.
2016-05-17layers: GH485, Remove redundant format props checkMark Lobodzinski
With new checks in place for CreateImage, old check in CreateRenderPass is redundant and can be removed. Change-Id: I53e5201f453041b3c8ba17edc193c1f3b142f4cb
2016-05-17layers: GH485, Strengthen image format validationMark Lobodzinski
CreateImage was checking that format caps weren't null, but was not validating against color or depth/stencil attachment types. Change-Id: Ic8996829033f552f6ef7477bdefdaba702ae2403
2016-05-11layers:LX#470 Fix poor use of hex vs dec outputMark Mueller
1) Introduce convention of explicitly placing "0x" before hex format requests for clarity (don't use "%#") 2) All lower case in hex output (except w/stringstream which refuses to do anything but uppercase, possibly only on windows). 3) Decorated pointers are printed for all Vulkan structure types. 3) Some intelligence in generators based on Vulkan variable name: if the Vulkan variable name contains ("flag", "bit", "offset", "handle", "buffer", "object", "mask") it will be output in hexadecimal format 4) Remove "using namespace std;" from global scope of vk_struct_string_helper_cpp.h Change-Id: Idbae73bfdaa3bc059543d43b209373cd0bcbc099
2016-05-10build: GH316 include cinttypes instead of inttypes.hKarl Schultz
Fixes compilation problems on CentOS. Change-Id: I92c5ea0ebea8684c40e67e9b386732e55cb47cc8
2016-05-05layers: Skip actual call on validation error in vkCmdBlitImageTony Barbour
Change-Id: Ia59e796dd6b7dd6acebb1e3e6b7dbbcbb4b23fed
2016-05-05image: avoid invalid GIPA call in vkCreateDeviceChia-I Wu
Save VkInstance in layer_data so that we query vkCreateDevice with a valid instance.
2016-05-05image: improve GetInstanceProcAddrChia-I Wu
Handle device commands as well. Move handling of interface functions to v0's vkGetInstanceProcAddr.
2016-05-05image: refactor GetInstanceProcAddrChia-I Wu
Split command intercepting out to intercept_core_instance_command.
2016-05-05image: add intercept_core_device_commandChia-I Wu
It returns the function pointers for all intercepted core device commands. Call intercept_core_device_command from GetDeviceProcAddr. Assert that device is valid in GetDeviceProcAddr.
2016-05-05image: improve EnumerateDeviceExtensionPropertiesChia-I Wu
Call down the next layer unless pLayerName is image.
2016-05-05image: add image::global_layerChia-I Wu
Replace pc_global_layers with global_layer. There is no plan to define more than one layer in the same namespace.
2016-05-05image: drop vk prefix for layer functionsChia-I Wu
Drop VK_LAYER_EXPORT as well.
2016-05-05image: put layer functions into a namespaceChia-I Wu
Put all layer fucntions/data into image namespace. I had to add some wrappers to make everything work.
2016-05-05image: move vkEnumerate*Properties aroundChia-I Wu
Move them toward the end of the file.
2016-04-19misc: Update licenses to Apache 2.0Jon Ashburn
Change-Id: Id447f4c8c53d33f9192940bdd3ae727b7b738a97
2016-04-18layers: image - use std mutexJeremy Hayes
Change-Id: Ie132289c0e601397f54b06c1ef758c65b712f906
2016-04-14layers: Fix lx474 by adding image extent = 0 validation check.Mark Young
Check only the valid dimensions for the imageType provided in the create info. Change-Id: I11d484caf1085b7b0ae4a402453b5fdcadd7b67d
2016-04-06layers: Fix unsafe bool mix warnings (part 2)Dustin Graves
Fixes the MSVS warnings regarding unsafe mix of VkBool32 and bool for the device_limits, image, parameter_validation, and threading layers. Converts all Boolean usage internal to the layers to bool/true/false. The VK_TRUE and VK_FALSE values continue to be used with the Vulkan API components. Change-Id: I612d3f26050fadcd77ffca4d8723a7c734613816
2016-03-31layers: LX458, Extend image extent validation for CmdCopyImageMark Lobodzinski
Also added many of the CmdCopyImage valid usage checks. Change-Id: I398adf18b48eccacbd8e44ce53e50f3bf43f58ad
2016-03-22misc: Update to header version 1.0.6Jon Ashburn
Change-Id: Idf7a9d40278b796e16effa54e9b60668d275b8ec
2016-03-22layers: Fix message for array layers to say array layers.Michael Lentine
2016-03-17layers: Lock around changes to imageMap in image layerTony Barbour
Change-Id: I75382973eacf80e3ee84fb390c79bc7c19cc14d7
2016-03-16layers: Move layer debug action initialization into layer_utilsMark Lobodzinski
Also removed dead code from the layer generation script. Change-Id: I64fdcaaf1aed8152de62079568c8e247333d8c61
2016-03-08layers: clang-format layers directoryJon Ashburn
Change-Id: I318e3759829f33441e57aafedec1e9ec06d658c4
2016-03-04validation: Promote validation warnings to errorsTony Barbour
Change-Id: Ib527e646aabbd0aecbadf9071ca9e271a8729735
2016-03-02layers: fix imageLayout bugJeremy Hayes
2016-03-02layers: Fix false positive on initialLayout in image layerTony Barbour
2016-03-01layers: gllavl#77 validate layout during clearJeremy Hayes
Change-Id: I427cd1fcc6ecf115dbaf521387a909f117c13d07
2016-03-01layers: gllavl#76 validate initialLayoutJeremy Hayes
Change-Id: Iede6dcf3bc83a5663b80b62c3239ef54bc74278a
2016-02-24layers: Make layer option names more consistent and update docsMark Lobodzinski
2016-02-18layers: MR221: Update extension info to match json filesCourtney Goeltzenleuchter
2016-02-18layers: MR221: Fix implementationVersionCourtney Goeltzenleuchter
2016-02-12header: Update 1.0.3 header revision for inclusion of debug report extensionMark Lobodzinski
Removed vk_ext_debug_report.h (contents moved into vulkan.h) Renamed debug report message enums
2016-02-10Remove Khronos confidential clause from license text.Karl Schultz
2016-02-10layers: Enable Wall and Werror.Michael Lentine
2016-02-03Revert "layers: Clang-format changes for files in layers dir of repo"Mark Lobodzinski
This reverts commit e260acfb96ea20945149ede6a250ef622ca7fd03. The clang-format changes need to be postponed until just prior to public release to facilitate MRs.
2016-02-02layers: Clang-format changes for files in layers dir of repoMark Lobodzinski
2016-02-02layers: Validation Layer Copyright UpdatesMark Lobodzinski
2016-01-20debug_report: Integrate review feedbackCourtney Goeltzenleuchter
Conflicts: include/vulkan/vk_ext_debug_report.h Conflicts: include/vulkan/vk_ext_debug_report.h
2016-01-20loader: implement new layer init methodCourtney Goeltzenleuchter
New layer init method requires the construction of Link information for CreateInstance and CreateDevice that is accessible to layers via the CreateInfo.pNext pointer. The layer can then use the Get*ProcAddr from the Link structure to initialize their dispatch table if the call down the chain returns successfully. This removes the need to do special initialization work at Get*ProcAddr time. Layer Get*ProcAddr now return their internal function pointers regardless of the value of instance or device. Only need to have valid instance & device when looking up extensions or when passing the request down the chain. This mechanism allows us to remove object wrapping used by the loader previously. Also simplifies the dispatch table setup. Conflicts: layers/device_limits.cpp layers/draw_state.cpp loader/loader.c loader/trampoline.c
2016-01-12layers: LX273, Fix accessMask validation for depth/stencil input attachmentsMark Lobodzinski
When using an imageView of a depth/stencil image to populate a descriptor set, the aspectMask must only include one bit and selects whether the imageView is used for depth reads or stencil reads.
2016-01-12layers: Fix image layer format mutability validationMark Lobodzinski
2016-01-11misc: Move to Vulkan header version 0.222Jon Ashburn
2016-01-11layers: LX264, Validate immutable format bit in image layerMark Lobodzinski
2016-01-04layers: Enable fine-grained filtering of image layer log messagesMark Lobodzinski