aboutsummaryrefslogtreecommitdiff
path: root/layers/mem_tracker.cpp
AgeCommit message (Collapse)Author
2015-06-18layers: Fix memtracker segfault for ill-behaved appsMark Lobodzinski
Freeing object memory before destroying object resulted in a segfault. This is illegal but shouldn't crash the layer.
2015-06-18mem_tracker: Process config file debug actionsCourtney Goeltzenleuchter
Now that debug report functionality is in place can use that mechanism to handle logging enabled by vk_layer_settings.txt
2015-06-18layers: make log_msg format log strings for perfCourtney Goeltzenleuchter
Performance analysis showed a lot of time being spent formating unused log messages (particularly INFO). By moving the formatting into the logging function we can only do the formatting if the message will be used.
2015-06-18mem_tracker: Add some more debug codeCourtney Goeltzenleuchter
2015-06-18mem_tracker: Use dispatch access functionsCourtney Goeltzenleuchter
Hopefully makes code easier to read when using the dispatch table access functions.
2015-06-18mem_tracker: Need dispatch object for loggingCourtney Goeltzenleuchter
Needed to make sure we had a dispatchable object to perform logging. Can't trust that mem or object are correct, so have caller pass in user's dispatchable object.
2015-06-18mem_tracker: Add debug assertsCourtney Goeltzenleuchter
2015-06-18mem_tracker: Initialize new mem recordCourtney Goeltzenleuchter
Need to intialize the record put on the list. Removed the unused, newed record.
2015-06-18mem_tracker: add per-instance persistent dataCourtney Goeltzenleuchter
2015-06-18memtracker: Add persistent storageCourtney Goeltzenleuchter
This patch eliminates global variables and accesses everything through pre-instance or per-device storage. Have basic template supporting get_my_data_ptr function working.
2015-06-18layers: Make dispatch table thread safeJon Ashburn
2015-06-18layers: Initialize debug_report instance proc tableCourtney Goeltzenleuchter
2015-06-18mem_tracker: DEBUG_REPORT handled by helper functionsCourtney Goeltzenleuchter
2015-06-18mem_tracker: DEBUG_REPORT is global, do not use in CreateDeviceCourtney Goeltzenleuchter
2015-06-18mem_tracker: Updates to match latest loader changesCourtney Goeltzenleuchter
2015-06-18loader: Add support for debug reportCourtney Goeltzenleuchter
2015-06-17loader: Support layers that don't have an extension entrypointJon Ashburn
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.
2015-06-17layers: Multi-device/instance support for Memtracker.Mark Lobodzinski
Conflicts: layers/mem_tracker.cpp
2015-06-17extensions: begin changes for extension supportCourtney Goeltzenleuchter
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.
2015-06-17misc: Change vkGetProcAddr to vkGetDeviceProcAddrJon Ashburn
Also cleanup layer/loader GPA's to only return device level entrypoints.
2015-06-17misc: Loader and Layers move device chain activation to CreateDeviceJon Ashburn
2015-06-17layers: Use the instance chain for entrypoints with instanceJon Ashburn
Also add to instance dispatch table CreateInstance and GetGlobalExtensionInfo
2015-06-17layers: Add initialization of instance dispatch tableJon Ashburn
Make the layer init separate from either device or instance dispatch table init, since these are done at different times.
2015-06-17layers: Add GetInstanceProcAddr() to all layersJon Ashburn
Loader will use this for constructing instance layer instance chains. Layer instance dispatch table is not yet added.
2015-06-05vulkan.h: Memory binding model changesMark Lobodzinski
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.
2015-06-02layers: Change MemTracker maps to contain structsMike Stroyan
Remove one unnecessary level of indirection. Conflicts: layers/mem_tracker.cpp
2015-06-02layers: Tuning MemTrackerMike Stroyan
Reverse sense of fenceMap using VkFence instead of fenceID as key. This eliminates iterating over all of fenceMap. Stop creating internal fences and let vkQueueSubmit pass NULL fence. Track lastSubmittedFence and lastSubmittedQueue in command buffer info. Use unordered_map instead of map for better performance. Reuse iterator returned by map find whenever available. It is faster than repeating a find operation with "[]" notation. Remove map entries at time of VkDestroy instead of other calls such as Wait.
2015-06-02Layers: fix MemTracker threading crashMike Stroyan
updateFenceTracking was using iterator for deleted item.
2015-06-02layers: thread safe MemTrackerMike Stroyan
Remove unneeded getFenceFromId() that crashed outside of mutex.
2015-06-02layers: fast return of inactive MemTracker printingMike Stroyan
2015-06-02vulkan.h: V97 -- Remove multiple allocations. Bug# 13948.Mark Lobodzinski
Remove multiple memory allocation requirements from API, and supporting changes in driver, demos, layers, and tests.
2015-05-22vulkan.h: V96 -- xglCmdBlitImage filter mode. Bug# 13759.Mark Lobodzinski
2015-05-14tests: Expand layer validation test coverageMark Lobodzinski
Added layer validation tests for several ObjectTracker and MemTracker validation cases. Also improved error handling in object tracker layer to handle validation failures that could cause unrecoverable driver errors.
2015-05-11vulkan.h: V93 -- fine-grained memory binding synchronization. Bug# 13464Mark Lobodzinski
New names and behavior for QueueBind* APIs.
2015-05-08vulkan.h: V94 -- remove vkCmdCloneImageData. Bug #16550.Mark Lobodzinski
2015-05-04bug 13854: Remove memory referencesCourtney Goeltzenleuchter
header: 0.93.0 svn: 30980
2015-05-01bug-13751: Update vkCmdClearColorImage color parameterCourtney Goeltzenleuchter
svn ID: 30918 Change the VkCmdClearColroImage color parameter be a pointer.
2015-04-29layers: Eliminate compiler warnings on Windows.Ian Elliott
This includes suppressing compiler warning C4065, where VS complains if a switch statement has a "default", but not "case" statements. This was true in many functions of the auto-generated "helper" header files. This also includes removing unreferenced local variables, and dealing with some type differences (sometimes with casting, sometimes with changing the type).
2015-04-29mem_tracker: Fix error from fixing MSVC assertsCourtney Goeltzenleuchter
2015-04-29layers: Fix msvc++ iterator issuesDavid Pinedo
2015-04-29mem_tracker: Do not increment iterator after deleteCourtney Goeltzenleuchter
The loop was blindly incrementing the iterator and it should not. In the delete case the loop should resume with the iterator returned by the delete as it's the next element in the list.
2015-04-22layers: Memtracker formatting changes.Mark Lobodzinski
Cleaned up alignment, made function definitions consistent, shortened some line lengths.
2015-04-22misc: Changes to fix warnings in Windows / VC++ 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-17switch to VK_WSI_LunarGChia-I Wu
Switch from VK_WSI_X11 to VK_WSI_LunarG v2: - split out glave changes - redo mem_tracker changes - rebase Conflicts: demos/cube.c demos/tri.c v3 (from Ian): - Put "#if 0" around non-upstream members of VkDisplayPropertiesWSI.
2015-04-17tests: Ensure vk_blit_test calls QueueAddMemReferencesMark Lobodzinski
The blit tests were skipping this step resulting in tons of memtracker validation errors.
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-16Bug 13632 Header 84 Add offset and size to VkMapMemoryTony Barbour
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.