aboutsummaryrefslogtreecommitdiff
path: root/layers/draw_state.cpp
AgeCommit message (Collapse)Author
2015-05-27layers: Fix drawState lock bug and don't call driver w/ bad pipelineTobin Ehlis
2015-05-27layers: Fix some DrawState checksTobin Ehlis
2015-05-22vulkan.h: V96 -- xglCmdBlitImage filter mode. Bug# 13759.Mark Lobodzinski
2015-05-22layers: Add additional check for RenderPass sampleCountTobin Ehlis
Was checking PSO MSAA num samples against FrameBuffer sampleCount. This change adds an additional check against RenderPass sampleCount.
2015-05-08vulkan.h: V94 -- remove vkCmdCloneImageData. Bug #16550.Mark Lobodzinski
2015-05-01bug-13751: Update vkCmdClearColorImage color parameterCourtney Goeltzenleuchter
svn ID: 30918 Change the VkCmdClearColroImage color parameter be a pointer.
2015-04-29layers: Fix msvc++ iterator issuesDavid Pinedo
2015-04-29draw_state: Fix another MSVC++ debug assertCourtney Goeltzenleuchter
2015-04-29draw_state: Fix Microsoft C++ iterator assertCourtney Goeltzenleuchter
The Microsoft Visual Studio vector library does not like this code: delete (*ii).second->pCmds.back(); Internally, pCmds.back() does a pCmds.end() - 1 and since the vector we are using (*ii).second->pCmds is not local, the library throws an assert about the iterator being non-incrementable. The assert if fixed by making a local copy of the vector and working on that.
2015-04-29draw_state: Fix Microsoft C++ assertCourtney Goeltzenleuchter
The C++ runtime library was issuing an assert on the following line: for (vector<CMD_NODE*>::iterator ii=pCB->pCmds.begin(); ii!=pCB->pCmds.end(); ++ii) { It was complaining that the iterator ii was not compatible with the pCmds.end(). Tracing down the assert, the C++ library did not like the fact that we were accessing pCmds through a pointer (pCB). If we made a local copy of the pCmds vector the assert went away.
2015-04-22misc: Changes to fix warnings in Windows / VC++ buildTony Barbour
2015-04-22misc: Changes to clean up warnings in Release buildTony Barbour
2015-04-22vkEnumerateLayers: Update to match upstreamCourtney Goeltzenleuchter
The upstream vulkan.h header removed maxLayerCount parameter from vkEnumerateLayers. This patch implements that change for the sample driver and layers.
2015-04-17update to vulkan.h header version 90, bug 13529Mike Stroyan
2015-04-17vulkan: Update vulkan.h for revision 89 -- Bug #13743Mark Lobodzinski
Generalizing the VkDescriptorSetLayoutChain object.
2015-04-17vulkan: Update vulkan.h for revision 88 -- Bug #13744Cody Northrop
Rename some vkCmdBindDescriptorSets parameters and add a dynamic offset count. v2: Add a check against dynamicOffsetCount before copying dset data.
2015-04-16vulkan: Remove VkDescriptorSetLayoutChain from vkCmdBindDescriptorSetsChia-I Wu
This is part of r30446 on vulkan.h, discussed in bug 13632. Meaty chunks of this commit done by Olv, basic hook up and testing by Cody.
2015-04-16Bug 13632 Header 84 Assorted questions and comments on vulkan.hTony Barbour
2015-04-16bug 13632: Convert commands to plural formCourtney Goeltzenleuchter
part of multiple commits to implement bug #13632. bug 13632 header version 82 svn version: 30446 This patch converts: vkCmdBindVertexBuffer -> vkCmdBindVertexBuffers vkQueueAddMemReference -> vkQueueAddMemReferences vkQueueRemoveMemReference -> vkQueueRemoveMemReferences
2015-04-16layers: Removing old GetExtensionSupport API callTobin Ehlis
2015-04-16vulkan.h: Rename parameters in vkCmdResolveImage callsTony Barbour
2015-04-16layers: indirect GPA in dispatch tableMike Stroyan
layer_initialize_dispatch_table was using gpa pointer without lookup. That could put the loader GPA function in for the lowest dispatch table instead of the icd GPA function. Use the same return from GPA call for GPA itself. There was code fixing up GPA dispatch in draw_state.cpp and mem_tracker.cpp. Remove that now that layer_initialize_dispatch_table does the right thing.
2015-04-16vulkan: Consistent naming scheme for resources in XGLCourtney Goeltzenleuchter
Bug 13230 header: 0.78.0 includes review feedback. v2: replace VK_FORMAT_IMAGE_COPY_BIT by VK_FORMAT_COLOR_ATTACHMENT_BIT for now (olv)
2015-04-16layers: Add extension Validation so loader will add layers with ValidationJon Ashburn
Also fix extension supported list in DrawState and ObjectTracker to include their local extensions in GetGlobalExtensionInfo()
2015-04-16vulkan: Add vkGetGlobalExtensionInfo entrypointJon Ashburn
have loader use it to enumerate all extensions from layers and drivers. Non-gode_gen layers also updated to include vkGetGlobalExtensionInfo Includes verion info as part of GetExtensionSupport return data. TODO: vk-layer-generate needs work v2: do not check for non-existing ENABLE_WSI_X11 (olv)
2015-04-16vulkan: Naming beautificationCourtney Goeltzenleuchter
- remove "Object" from the name of VkDynamic*State objects. (no other leaf classes have "Object" in the name). - fix some minor spacing issues git-svn-id: https://cvs.khronos.org/svn/repos/oglc/trunk/nextgen/XGL@30120 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-04-16layers: Remove wrapping of GPU objects by loader and layersJon Ashburn
Loader only wraps GPU objects for creating a layer chain. After layer activation layers and loader use unwrapped gpu object returned by the driver. This is a large simplification. This fixes a nasty bug where layers intercepting entrypoints with gpu objects but not all these entrypoints would fail. These would cause non-uniform unwrapping of gpu objects by the time the driver was called with a gpu object. Fixes issue in loader_get_icd where it was trying to compare a wrapped GPU against a non-wrapped GPU.
2015-04-16loader: refactor layer activation function to handle more general inputsJon Ashburn
Renamed structure types as well. TODO: verify vk-layer-generate.py v2: fix LoaderEntrypointsSubcommand (olv)
2015-04-16vulkan: beautification changesCourtney Goeltzenleuchter
TODO: verify vk-layer-generate.py TODO: need to rename object tracker generator v2: fix "python3 vulkan.py" fix dead cod in tri introduced by rebase beautify wsi_null.c (olv)
2015-04-16vulkan: API renamingCourtney Goeltzenleuchter
VK_DEVICE_QUEUE_CREATE_INFO => VkDeviceQueueCreateInfo VK_DEVICE_CREATE_INFO => VkDeviceCreateInfo VK_INSTANCE_CREATE_INFO => VkInstanceCreateInfo VK_LAYER_CREATE_INFO => VkLayerCreateInfo VK_MEMORY_ALLOC_INFO => VkMemoryAllocInfo VK_MEMORY_ALLOC_IMAGE_INFO => VkMemoryAllocImageInfo VK_MEMORY_ALLOC_BUFFER_INFO => VkMemoryAllocBufferInfo VK_BUFFER_CREATE_INFO => VkBufferCreateInfo VK_BUFFER_VIEW_CREATE_INFO => VkBufferViewCreateInfo
2015-04-16layers: Migrate remaining malloc/free calls in DrawState to new/deleteTobin Ehlis
2015-04-16xgl.h v70. Fix for vkUpdateDescriptors. Bug 13615Courtney Goeltzenleuchter
git-svn-id: https://cvs.khronos.org/svn/repos/oglc/trunk/nextgen/XGL@30104 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-04-16renaming: Move many xgl files to vk versionCourtney Goeltzenleuchter
2015-04-16Stage 1 of renameCourtney Goeltzenleuchter
TODO: re-enable glave build, advance API for glave v2: get rid of outdated code in tri introduced by rebase rename wsi_null.c (olv)
2015-04-16layers: Update GetExtensionSupport() to handle queries for layer nameJon Ashburn
Layers now support loader querying their layer name via GetExtensionSupport in addition to EnumerateLayers. Also fixed bugs in ObjectTracker and DrawState to add the extensions they support in the GetExtensionSupport queries. Conflicts: xgl-layer-generate.py
2015-04-16xgl: Enable new mem ref functionsCourtney Goeltzenleuchter
v2: remove a stale comment in the sample driver (olv)
2015-04-16layers: Use brackets for if in previous fixTony Barbour
2015-04-16layers: Check for valid pipeline before validatingTony Barbour
2015-04-16layers: DrawState changes to support resource binding updatesTobin Ehlis
2015-04-16layers: Migrated DrawState layer to cppTobin Ehlis
Move almost all linked-lists to unordered_maps and vectors. Clean up malloc/free with new/delete. Skip write-strings compile warnings for graphviz_helper. Still need to migrate the DS update tree to c++.
2015-04-16FIXUP: Remove PIPELINE_DELTACourtney Goeltzenleuchter
commit 57a757fda4f6a62cb1187b015f28119ce9c5a2b2 Author: Courtney Goeltzenleuchter <courtney@LunarG.com> Date: Wed Mar 25 15:37:49 2015 -0600 xgl: Remove PIPELINE_DELTA. bug: 13065 header: 0.60.0 Remove PIPELINE_DELTA. Add functions for creating and loading pipeline derivatives.
2015-04-16FIXUP: Add IMAGE_LAYOUTCourtney Goeltzenleuchter
commit 6f5bca9057be71e818982c4cece0cb5ed1743b0f Author: Courtney Goeltzenleuchter <courtney@LunarG.com> Date: Wed Mar 25 11:25:10 2015 -0600 xgl: Add IMAGE_LAYOUT to Cmd*Image* calls This is part 2 of bug #12904. (2) Blit operations need to know what layout images are in. How do they figure that out? - Added new parameter(s) specifying the image layout(s) to the following functions: xglCmdCopyImage xglCmdCopyBufferToImage xglCmdCopyImageToBuffer xglCmdClearColorImage xglCmdClearColorImageRaw xglCmdClearDepthStencilImage xglCmdResolveImage
2015-04-16xgl: Add xglCmdBlitImage entry pointCourtney Goeltzenleuchter
Rebase updates Part one of adding support for abitrary scaled blits and format conversions. Just interface here. Functionality to follow. bug #13071 alpha rev: r29665
2015-04-16xgl: Add XGL_PIPE_EVENT to CmdResetEventCourtney Goeltzenleuchter
part 3 of bug #12904 alpha header: r29684 (0.59.0) (3) Where does xglCmdResetEvent update the event's status? Unlike xglCmdSetEvent this function doesn't take a parameter specifying this. - Added pipeEvent parameter also to xglCmdResetEvent. Also renamed XGL_SET_EVENT to XGL_PIPE_EVENT as now it's no longer used only for set operations.
2015-04-16xgl: Proposal to remove XGL_FRAMEBUFFERCourtney Goeltzenleuchter
bug # 13323 alpha header: r29635 Don't actually remove XGL_FRAMEBUFFER but do change how RenderPass and Framebuffer are connected. Some comments from the bug: - Created a new structure XGL_RENDER_PASS_BEGIN that contains both the XGL_RENDER_PASS and XGL_FRAMEBUFFER. - XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO and xglCmdBeginRenderPass both use XGL_RENDER_PASS_BEGIN to ensure they stay consistent. - Renamed the member in XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO to renderPassContinue with a comment to clarify that this is only needed when a render pass is split across two command buffer. The last has the biggest impact on this patch. The tests now directly call CmdBeginRenderPass and CmdEndRenderPass in the command buffer rather than set the BEGIN_INFO to a render pass and have the driver implicitly do BeginRenderPass and EndRenderPass. It would probably still work, but didn't seem to match the intent with this change in the header file.
2015-04-16xgl: update xglDbg.h for XGL_INSTANCECourtney Goeltzenleuchter
Add XGL_INSTANCE as the first parameter of xglDbgRegisterMsgCallback(), xglDbgUnregisterMsgCallback(), and xglDbgSetGlobalOption(). The loader is simplified. loader_log() is modified to always output to stderr. glave is modified to register its message callback after xglEnumerateGpus(), and xglDbgUnregisterMsgCallback() is called only before xglDestroyInstance(). XGL_INSTANCE is ignored by the layers and the driver for now. Bump up API version to XGL_MAKE_VERSION(0, 56, 1).
2015-04-16xgl: combine xglCmdClearColor* into one functionCourtney Goeltzenleuchter
combined the two xglCmdClearColorImage* functions into one, with the XGL_CLEAR_COLOR struct bug # 13172 alpha header: r29626
2015-04-16xgl: Impossible to expose multi-function queuesCourtney Goeltzenleuchter
Bug: 13363 header version: r29597 (0.51.0) included review feedback.
2015-04-01layers: Shadow PSO Creation structs directly in PIPELINE_NODETobin Ehlis
This simplifies creation and desctruction as well as validation of PSO.
2015-04-01layers: Add DrawState validation that FB samples matches PSO samplesTobin Ehlis