vk/vulkan.h: Update clear color handling to 130

This commit is contained in:
Jason Ekstrand 2015-07-07 16:37:43 -07:00
parent 3e4b00d283
commit 80046a7d54
3 changed files with 14 additions and 19 deletions

View File

@ -1671,17 +1671,12 @@ typedef struct {
uint32_t layers; uint32_t layers;
} VkFramebufferCreateInfo; } VkFramebufferCreateInfo;
typedef union VkClearColorValue_ typedef union {
{ float f32[4];
float floatColor[4]; int32_t s32[4];
uint32_t rawColor[4]; uint32_t u32[4];
} VkClearColorValue; } VkClearColorValue;
typedef struct {
VkClearColorValue color;
bool32_t useRawValue;
} VkClearColor;
typedef struct { typedef struct {
VkStructureType sType; VkStructureType sType;
const void* pNext; const void* pNext;
@ -1694,7 +1689,7 @@ typedef struct {
const VkImageLayout* pColorLayouts; const VkImageLayout* pColorLayouts;
const VkAttachmentLoadOp* pColorLoadOps; const VkAttachmentLoadOp* pColorLoadOps;
const VkAttachmentStoreOp* pColorStoreOps; const VkAttachmentStoreOp* pColorStoreOps;
const VkClearColor* pColorLoadClearValues; const VkClearColorValue* pColorLoadClearValues;
VkFormat depthStencilFormat; VkFormat depthStencilFormat;
VkImageLayout depthStencilLayout; VkImageLayout depthStencilLayout;
VkAttachmentLoadOp depthLoadOp; VkAttachmentLoadOp depthLoadOp;
@ -1992,7 +1987,7 @@ typedef void (VKAPI *PFN_vkCmdCopyBufferToImage)(VkCmdBuffer cmdBuffer, VkBuffer
typedef void (VKAPI *PFN_vkCmdCopyImageToBuffer)(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer destBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); typedef void (VKAPI *PFN_vkCmdCopyImageToBuffer)(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer destBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
typedef void (VKAPI *PFN_vkCmdUpdateBuffer)(VkCmdBuffer cmdBuffer, VkBuffer destBuffer, VkDeviceSize destOffset, VkDeviceSize dataSize, const uint32_t* pData); typedef void (VKAPI *PFN_vkCmdUpdateBuffer)(VkCmdBuffer cmdBuffer, VkBuffer destBuffer, VkDeviceSize destOffset, VkDeviceSize dataSize, const uint32_t* pData);
typedef void (VKAPI *PFN_vkCmdFillBuffer)(VkCmdBuffer cmdBuffer, VkBuffer destBuffer, VkDeviceSize destOffset, VkDeviceSize fillSize, uint32_t data); typedef void (VKAPI *PFN_vkCmdFillBuffer)(VkCmdBuffer cmdBuffer, VkBuffer destBuffer, VkDeviceSize destOffset, VkDeviceSize fillSize, uint32_t data);
typedef void (VKAPI *PFN_vkCmdClearColorImage)(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, VkClearColor color, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); typedef void (VKAPI *PFN_vkCmdClearColorImage)(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
typedef void (VKAPI *PFN_vkCmdClearDepthStencilImage)(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, float depth, uint32_t stencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); typedef void (VKAPI *PFN_vkCmdClearDepthStencilImage)(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, float depth, uint32_t stencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
typedef void (VKAPI *PFN_vkCmdClearColorAttachment)(VkCmdBuffer cmdBuffer, uint32_t colorAttachment, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rectCount, const VkRect3D* pRects); typedef void (VKAPI *PFN_vkCmdClearColorAttachment)(VkCmdBuffer cmdBuffer, uint32_t colorAttachment, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rectCount, const VkRect3D* pRects);
typedef void (VKAPI *PFN_vkCmdClearDepthStencilAttachment)(VkCmdBuffer cmdBuffer, VkImageAspectFlags imageAspectMask, VkImageLayout imageLayout, float depth, uint32_t stencil, uint32_t rectCount, const VkRect3D* pRects); typedef void (VKAPI *PFN_vkCmdClearDepthStencilAttachment)(VkCmdBuffer cmdBuffer, VkImageAspectFlags imageAspectMask, VkImageLayout imageLayout, float depth, uint32_t stencil, uint32_t rectCount, const VkRect3D* pRects);
@ -2521,7 +2516,7 @@ void VKAPI vkCmdClearColorImage(
VkCmdBuffer cmdBuffer, VkCmdBuffer cmdBuffer,
VkImage image, VkImage image,
VkImageLayout imageLayout, VkImageLayout imageLayout,
VkClearColor color, const VkClearColorValue* pColor,
uint32_t rangeCount, uint32_t rangeCount,
const VkImageSubresourceRange* pRanges); const VkImageSubresourceRange* pRanges);

View File

@ -283,7 +283,7 @@ anv_cmd_buffer_clear(struct anv_cmd_buffer *cmd_buffer,
.ViewportIndex = 0, .ViewportIndex = 0,
.PointWidth = 0.0 .PointWidth = 0.0
}, },
.color = pass->layers[i].clear_color.color, .color = pass->layers[i].clear_color,
}; };
} }
} }
@ -627,8 +627,8 @@ meta_emit_blit(struct anv_cmd_buffer *cmd_buffer,
.pColorLayouts = (VkImageLayout[]) { VK_IMAGE_LAYOUT_GENERAL }, .pColorLayouts = (VkImageLayout[]) { VK_IMAGE_LAYOUT_GENERAL },
.pColorLoadOps = (VkAttachmentLoadOp[]) { VK_ATTACHMENT_LOAD_OP_LOAD }, .pColorLoadOps = (VkAttachmentLoadOp[]) { VK_ATTACHMENT_LOAD_OP_LOAD },
.pColorStoreOps = (VkAttachmentStoreOp[]) { VK_ATTACHMENT_STORE_OP_STORE }, .pColorStoreOps = (VkAttachmentStoreOp[]) { VK_ATTACHMENT_STORE_OP_STORE },
.pColorLoadClearValues = (VkClearColor[]) { .pColorLoadClearValues = (VkClearColorValue[]) {
{ .color = { .floatColor = { 1.0, 0.0, 0.0, 1.0 } }, .useRawValue = false } { .f32 = { 1.0, 0.0, 0.0, 1.0 } }
}, },
.depthStencilFormat = VK_FORMAT_UNDEFINED, .depthStencilFormat = VK_FORMAT_UNDEFINED,
}, &pass); }, &pass);
@ -1185,7 +1185,7 @@ void anv_CmdClearColorImage(
VkCmdBuffer cmdBuffer, VkCmdBuffer cmdBuffer,
VkImage _image, VkImage _image,
VkImageLayout imageLayout, VkImageLayout imageLayout,
VkClearColor color, const VkClearColorValue* pColor,
uint32_t rangeCount, uint32_t rangeCount,
const VkImageSubresourceRange* pRanges) const VkImageSubresourceRange* pRanges)
{ {
@ -1241,7 +1241,7 @@ void anv_CmdClearColorImage(
.pColorLayouts = (VkImageLayout[]) { imageLayout }, .pColorLayouts = (VkImageLayout[]) { imageLayout },
.pColorLoadOps = (VkAttachmentLoadOp[]) { VK_ATTACHMENT_LOAD_OP_DONT_CARE }, .pColorLoadOps = (VkAttachmentLoadOp[]) { VK_ATTACHMENT_LOAD_OP_DONT_CARE },
.pColorStoreOps = (VkAttachmentStoreOp[]) { VK_ATTACHMENT_STORE_OP_STORE }, .pColorStoreOps = (VkAttachmentStoreOp[]) { VK_ATTACHMENT_STORE_OP_STORE },
.pColorLoadClearValues = &color, .pColorLoadClearValues = pColor,
.depthStencilFormat = VK_FORMAT_UNDEFINED, .depthStencilFormat = VK_FORMAT_UNDEFINED,
}, &pass); }, &pass);
@ -1257,7 +1257,7 @@ void anv_CmdClearColorImage(
.ViewportIndex = 0, .ViewportIndex = 0,
.PointWidth = 0.0 .PointWidth = 0.0
}, },
.color = color.color, .color = *pColor,
}; };
meta_emit_clear(cmd_buffer, 1, &instance_data); meta_emit_clear(cmd_buffer, 1, &instance_data);

View File

@ -920,7 +920,7 @@ struct anv_framebuffer {
struct anv_render_pass_layer { struct anv_render_pass_layer {
VkAttachmentLoadOp color_load_op; VkAttachmentLoadOp color_load_op;
VkClearColor clear_color; VkClearColorValue clear_color;
}; };
struct anv_render_pass { struct anv_render_pass {