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;
} VkFramebufferCreateInfo;
typedef union VkClearColorValue_
{
float floatColor[4];
uint32_t rawColor[4];
typedef union {
float f32[4];
int32_t s32[4];
uint32_t u32[4];
} VkClearColorValue;
typedef struct {
VkClearColorValue color;
bool32_t useRawValue;
} VkClearColor;
typedef struct {
VkStructureType sType;
const void* pNext;
@ -1694,7 +1689,7 @@ typedef struct {
const VkImageLayout* pColorLayouts;
const VkAttachmentLoadOp* pColorLoadOps;
const VkAttachmentStoreOp* pColorStoreOps;
const VkClearColor* pColorLoadClearValues;
const VkClearColorValue* pColorLoadClearValues;
VkFormat depthStencilFormat;
VkImageLayout depthStencilLayout;
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_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_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_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);
@ -2521,7 +2516,7 @@ void VKAPI vkCmdClearColorImage(
VkCmdBuffer cmdBuffer,
VkImage image,
VkImageLayout imageLayout,
VkClearColor color,
const VkClearColorValue* pColor,
uint32_t rangeCount,
const VkImageSubresourceRange* pRanges);

View File

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

View File

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