aboutsummaryrefslogtreecommitdiff
path: root/layers/core_validation.h
diff options
context:
space:
mode:
authorTobin Ehlis <tobine@google.com>2016-04-18 15:45:20 -0600
committerTobin Ehlis <tobine@google.com>2016-04-21 07:32:08 -0600
commit685d2e1ff51eb668a715d5f7e59999cd404b64ef (patch)
tree637832b7b9af778f6ae6468cefc0509249f6abe3 /layers/core_validation.h
parent3e2f58b5b8dd321462366d9d6c6cf54e8c9b4b07 (diff)
downloadusermoji-685d2e1ff51eb668a715d5f7e59999cd404b64ef.tar.xz
layers: Cleanup core_validation fence tracking
There were two separate mechanisms for tracking fence state in core_validation. This change removes the last[Retired|Submitted]Id per queue method. We also no longer over-write the fence createInfo to track fence state, but just use the needsSignaled bool for all fence state tracking. Finally, there was a validation test/check flagging an error if an unsignaled fence was reset, but this is valid based on the spec so removed the check and changed test to be a positive test expected to pass.
Diffstat (limited to 'layers/core_validation.h')
-rw-r--r--layers/core_validation.h25
1 files changed, 2 insertions, 23 deletions
diff --git a/layers/core_validation.h b/layers/core_validation.h
index 0831c775..8ab1bdfb 100644
--- a/layers/core_validation.h
+++ b/layers/core_validation.h
@@ -170,23 +170,6 @@ struct MT_PASS_ATTACHMENT_INFO {
VkAttachmentStoreOp store_op;
};
-// Associate fenceId with a fence object
-struct MT_FENCE_INFO {
- uint64_t fenceId; // Sequence number for fence at last submit
- VkQueue queue; // Queue that this fence is submitted against or NULL
- VkSwapchainKHR swapchain; // Swapchain that this fence is submitted against or NULL
- bool firstTimeFlag; // Fence was created in signaled state, avoid warnings for first use
- VkFenceCreateInfo createInfo;
-};
-
-// Track Queue information
-struct MT_QUEUE_INFO {
- uint64_t lastRetiredId;
- uint64_t lastSubmittedId;
- list<VkCommandBuffer> pQueueCommandBuffers;
- list<VkDeviceMemory> pMemRefList;
-};
-
struct MT_DESCRIPTOR_SET_INFO {
std::vector<VkImageView> images;
std::vector<VkBuffer> buffers;
@@ -572,19 +555,17 @@ class PHYS_DEV_PROPERTIES_NODE {
class FENCE_NODE : public BASE_NODE {
public:
using BASE_NODE::in_use;
-#if MTMERGE
- uint64_t fenceId; // Sequence number for fence at last submit
+
VkSwapchainKHR swapchain; // Swapchain that this fence is submitted against or NULL
bool firstTimeFlag; // Fence was created in signaled state, avoid warnings for first use
VkFenceCreateInfo createInfo;
-#endif
VkQueue queue;
vector<VkCommandBuffer> cmdBuffers;
bool needsSignaled;
vector<VkFence> priorFences;
// Default constructor
- FENCE_NODE() : queue(NULL), needsSignaled(VK_FALSE){};
+ FENCE_NODE() : queue(VK_NULL_HANDLE), needsSignaled(false){};
};
class SEMAPHORE_NODE : public BASE_NODE {
@@ -606,8 +587,6 @@ class QUEUE_NODE {
VkDevice device;
vector<VkFence> lastFences;
#if MTMERGE
- uint64_t lastRetiredId;
- uint64_t lastSubmittedId;
// MTMTODO : merge cmd_buffer data structs here
list<VkCommandBuffer> pQueueCommandBuffers;
list<VkDeviceMemory> pMemRefList;