vk/0.210.0: Rework a few raster/input enums

This commit is contained in:
Jason Ekstrand
2015-11-30 13:28:09 -08:00
parent a53f23d93f
commit 9b1cb8fdbc
6 changed files with 63 additions and 66 deletions

View File

@@ -494,14 +494,14 @@ typedef enum {
VK_SHADER_STAGE_MAX_ENUM = 0x7FFFFFFF
} VkShaderStage;
typedef enum {
VK_VERTEX_INPUT_STEP_RATE_VERTEX = 0,
VK_VERTEX_INPUT_STEP_RATE_INSTANCE = 1,
VK_VERTEX_INPUT_STEP_RATE_BEGIN_RANGE = VK_VERTEX_INPUT_STEP_RATE_VERTEX,
VK_VERTEX_INPUT_STEP_RATE_END_RANGE = VK_VERTEX_INPUT_STEP_RATE_INSTANCE,
VK_VERTEX_INPUT_STEP_RATE_NUM = (VK_VERTEX_INPUT_STEP_RATE_INSTANCE - VK_VERTEX_INPUT_STEP_RATE_VERTEX + 1),
VK_VERTEX_INPUT_STEP_RATE_MAX_ENUM = 0x7FFFFFFF
} VkVertexInputStepRate;
typedef enum VkVertexInputRate {
VK_VERTEX_INPUT_RATE_VERTEX = 0,
VK_VERTEX_INPUT_RATE_INSTANCE = 1,
VK_VERTEX_INPUT_RATE_BEGIN_RANGE = VK_VERTEX_INPUT_RATE_VERTEX,
VK_VERTEX_INPUT_RATE_END_RANGE = VK_VERTEX_INPUT_RATE_INSTANCE,
VK_VERTEX_INPUT_RATE_RANGE_SIZE = (VK_VERTEX_INPUT_RATE_INSTANCE - VK_VERTEX_INPUT_RATE_VERTEX + 1),
VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
} VkVertexInputRate;
typedef enum VkPrimitiveTopology {
VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
@@ -521,33 +521,22 @@ typedef enum VkPrimitiveTopology {
VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
} VkPrimitiveTopology;
typedef enum {
VK_FILL_MODE_POINTS = 0,
VK_FILL_MODE_WIREFRAME = 1,
VK_FILL_MODE_SOLID = 2,
VK_FILL_MODE_BEGIN_RANGE = VK_FILL_MODE_POINTS,
VK_FILL_MODE_END_RANGE = VK_FILL_MODE_SOLID,
VK_FILL_MODE_NUM = (VK_FILL_MODE_SOLID - VK_FILL_MODE_POINTS + 1),
VK_FILL_MODE_MAX_ENUM = 0x7FFFFFFF
} VkFillMode;
typedef enum VkPolygonMode {
VK_POLYGON_MODE_FILL = 0,
VK_POLYGON_MODE_LINE = 1,
VK_POLYGON_MODE_POINT = 2,
VK_POLYGON_MODE_BEGIN_RANGE = VK_POLYGON_MODE_FILL,
VK_POLYGON_MODE_END_RANGE = VK_POLYGON_MODE_POINT,
VK_POLYGON_MODE_RANGE_SIZE = (VK_POLYGON_MODE_POINT - VK_POLYGON_MODE_FILL + 1),
VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
} VkPolygonMode;
typedef enum {
VK_CULL_MODE_NONE = 0,
VK_CULL_MODE_FRONT = 1,
VK_CULL_MODE_BACK = 2,
VK_CULL_MODE_FRONT_AND_BACK = 3,
VK_CULL_MODE_BEGIN_RANGE = VK_CULL_MODE_NONE,
VK_CULL_MODE_END_RANGE = VK_CULL_MODE_FRONT_AND_BACK,
VK_CULL_MODE_NUM = (VK_CULL_MODE_FRONT_AND_BACK - VK_CULL_MODE_NONE + 1),
VK_CULL_MODE_MAX_ENUM = 0x7FFFFFFF
} VkCullMode;
typedef enum {
VK_FRONT_FACE_CCW = 0,
VK_FRONT_FACE_CW = 1,
VK_FRONT_FACE_BEGIN_RANGE = VK_FRONT_FACE_CCW,
VK_FRONT_FACE_END_RANGE = VK_FRONT_FACE_CW,
VK_FRONT_FACE_NUM = (VK_FRONT_FACE_CW - VK_FRONT_FACE_CCW + 1),
typedef enum VkFrontFace {
VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
VK_FRONT_FACE_CLOCKWISE = 1,
VK_FRONT_FACE_BEGIN_RANGE = VK_FRONT_FACE_COUNTER_CLOCKWISE,
VK_FRONT_FACE_END_RANGE = VK_FRONT_FACE_CLOCKWISE,
VK_FRONT_FACE_RANGE_SIZE = (VK_FRONT_FACE_CLOCKWISE - VK_FRONT_FACE_COUNTER_CLOCKWISE + 1),
VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
} VkFrontFace;
@@ -979,6 +968,14 @@ typedef enum VkShaderStageFlagBits {
VK_SHADER_STAGE_ALL_GRAPHICS = 0x1F,
VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
} VkShaderStageFlagBits;
typedef enum VkCullModeFlagBits {
VK_CULL_MODE_NONE = 0,
VK_CULL_MODE_FRONT_BIT = 0x00000001,
VK_CULL_MODE_BACK_BIT = 0x00000002,
VK_CULL_MODE_FRONT_AND_BACK = 0x3,
} VkCullModeFlagBits;
typedef VkFlags VkCullModeFlags;
typedef VkFlags VkShaderStageFlags;
typedef enum VkAttachmentDescriptionFlagBits {
@@ -1569,7 +1566,7 @@ typedef struct {
typedef struct {
uint32_t binding;
uint32_t strideInBytes;
VkVertexInputStepRate stepRate;
VkVertexInputRate inputRate;
} VkVertexInputBindingDescription;
typedef struct {
@@ -1639,8 +1636,8 @@ typedef struct {
const void* pNext;
VkBool32 depthClipEnable;
VkBool32 rasterizerDiscardEnable;
VkFillMode fillMode;
VkCullMode cullMode;
VkPolygonMode polygonMode;
VkCullModeFlags cullMode;
VkFrontFace frontFace;
VkBool32 depthBiasEnable;
float depthBias;

View File

@@ -269,12 +269,12 @@ anv_device_init_meta_blit_state(struct anv_device *device)
{
.binding = 0,
.strideInBytes = 0,
.stepRate = VK_VERTEX_INPUT_STEP_RATE_VERTEX
.inputRate = VK_VERTEX_INPUT_RATE_VERTEX
},
{
.binding = 1,
.strideInBytes = 5 * sizeof(float),
.stepRate = VK_VERTEX_INPUT_STEP_RATE_VERTEX
.inputRate = VK_VERTEX_INPUT_RATE_VERTEX
},
},
.attributeCount = 3,
@@ -359,9 +359,9 @@ anv_device_init_meta_blit_state(struct anv_device *device)
.sType = VK_STRUCTURE_TYPE_PIPELINE_RASTER_STATE_CREATE_INFO,
.depthClipEnable = true,
.rasterizerDiscardEnable = false,
.fillMode = VK_FILL_MODE_SOLID,
.polygonMode = VK_POLYGON_MODE_FILL,
.cullMode = VK_CULL_MODE_NONE,
.frontFace = VK_FRONT_FACE_CCW
.frontFace = VK_FRONT_FACE_COUNTER_CLOCKWISE
},
.pMultisampleState = &(VkPipelineMultisampleStateCreateInfo) {
.sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,

View File

@@ -177,9 +177,9 @@ create_pipeline(struct anv_device *device,
.sType = VK_STRUCTURE_TYPE_PIPELINE_RASTER_STATE_CREATE_INFO,
.depthClipEnable = false,
.rasterizerDiscardEnable = false,
.fillMode = VK_FILL_MODE_SOLID,
.polygonMode = VK_POLYGON_MODE_FILL,
.cullMode = VK_CULL_MODE_NONE,
.frontFace = VK_FRONT_FACE_CCW,
.frontFace = VK_FRONT_FACE_COUNTER_CLOCKWISE,
.depthBiasEnable = false,
.depthClipEnable = false,
},
@@ -246,7 +246,7 @@ init_color_pipeline(struct anv_device *device)
{
.binding = 0,
.strideInBytes = sizeof(struct color_clear_vattrs),
.stepRate = VK_VERTEX_INPUT_STEP_RATE_VERTEX
.inputRate = VK_VERTEX_INPUT_RATE_VERTEX
},
},
.attributeCount = 3,
@@ -429,7 +429,7 @@ create_depthstencil_pipeline(struct anv_device *device,
{
.binding = 0,
.strideInBytes = sizeof(struct depthstencil_clear_vattrs),
.stepRate = VK_VERTEX_INPUT_STEP_RATE_VERTEX
.inputRate = VK_VERTEX_INPUT_RATE_VERTEX
},
},
.attributeCount = 2,

View File

@@ -1043,12 +1043,12 @@ anv_pipeline_init(struct anv_pipeline *pipeline, struct anv_device *device,
/* Step rate is programmed per vertex element (attribute), not
* binding. Set up a map of which bindings step per instance, for
* reference by vertex element setup. */
switch (desc->stepRate) {
switch (desc->inputRate) {
default:
case VK_VERTEX_INPUT_STEP_RATE_VERTEX:
case VK_VERTEX_INPUT_RATE_VERTEX:
pipeline->instancing_enable[desc->binding] = false;
break;
case VK_VERTEX_INPUT_STEP_RATE_INSTANCE:
case VK_VERTEX_INPUT_RATE_INSTANCE:
pipeline->instancing_enable[desc->binding] = true;
break;
}

View File

@@ -83,20 +83,20 @@ gen7_emit_vertex_input(struct anv_pipeline *pipeline,
static const uint32_t vk_to_gen_cullmode[] = {
[VK_CULL_MODE_NONE] = CULLMODE_NONE,
[VK_CULL_MODE_FRONT] = CULLMODE_FRONT,
[VK_CULL_MODE_BACK] = CULLMODE_BACK,
[VK_CULL_MODE_FRONT_BIT] = CULLMODE_FRONT,
[VK_CULL_MODE_BACK_BIT] = CULLMODE_BACK,
[VK_CULL_MODE_FRONT_AND_BACK] = CULLMODE_BOTH
};
static const uint32_t vk_to_gen_fillmode[] = {
[VK_FILL_MODE_POINTS] = RASTER_POINT,
[VK_FILL_MODE_WIREFRAME] = RASTER_WIREFRAME,
[VK_FILL_MODE_SOLID] = RASTER_SOLID
[VK_POLYGON_MODE_FILL] = RASTER_SOLID,
[VK_POLYGON_MODE_LINE] = RASTER_WIREFRAME,
[VK_POLYGON_MODE_POINT] = RASTER_POINT,
};
static const uint32_t vk_to_gen_front_face[] = {
[VK_FRONT_FACE_CCW] = 1,
[VK_FRONT_FACE_CW] = 0
[VK_FRONT_FACE_COUNTER_CLOCKWISE] = 1,
[VK_FRONT_FACE_CLOCKWISE] = 0
};
static void
@@ -113,8 +113,8 @@ gen7_emit_rs_state(struct anv_pipeline *pipeline,
/* LegacyGlobalDepthBiasEnable */
.StatisticsEnable = true,
.FrontFaceFillMode = vk_to_gen_fillmode[info->fillMode],
.BackFaceFillMode = vk_to_gen_fillmode[info->fillMode],
.FrontFaceFillMode = vk_to_gen_fillmode[info->polygonMode],
.BackFaceFillMode = vk_to_gen_fillmode[info->polygonMode],
.ViewTransformEnable = !(extra && extra->disable_viewport),
.FrontWinding = vk_to_gen_front_face[info->frontFace],
/* bool AntiAliasingEnable; */

View File

@@ -97,20 +97,20 @@ emit_rs_state(struct anv_pipeline *pipeline,
{
static const uint32_t vk_to_gen_cullmode[] = {
[VK_CULL_MODE_NONE] = CULLMODE_NONE,
[VK_CULL_MODE_FRONT] = CULLMODE_FRONT,
[VK_CULL_MODE_BACK] = CULLMODE_BACK,
[VK_CULL_MODE_FRONT_BIT] = CULLMODE_FRONT,
[VK_CULL_MODE_BACK_BIT] = CULLMODE_BACK,
[VK_CULL_MODE_FRONT_AND_BACK] = CULLMODE_BOTH
};
static const uint32_t vk_to_gen_fillmode[] = {
[VK_FILL_MODE_POINTS] = RASTER_POINT,
[VK_FILL_MODE_WIREFRAME] = RASTER_WIREFRAME,
[VK_FILL_MODE_SOLID] = RASTER_SOLID
[VK_POLYGON_MODE_FILL] = RASTER_SOLID,
[VK_POLYGON_MODE_LINE] = RASTER_WIREFRAME,
[VK_POLYGON_MODE_POINT] = RASTER_POINT,
};
static const uint32_t vk_to_gen_front_face[] = {
[VK_FRONT_FACE_CCW] = CounterClockwise,
[VK_FRONT_FACE_CW] = Clockwise
[VK_FRONT_FACE_COUNTER_CLOCKWISE] = 1,
[VK_FRONT_FACE_CLOCKWISE] = 0
};
struct GENX(3DSTATE_SF) sf = {
@@ -131,8 +131,8 @@ emit_rs_state(struct anv_pipeline *pipeline,
GENX(3DSTATE_RASTER_header),
.FrontWinding = vk_to_gen_front_face[info->frontFace],
.CullMode = vk_to_gen_cullmode[info->cullMode],
.FrontFaceFillMode = vk_to_gen_fillmode[info->fillMode],
.BackFaceFillMode = vk_to_gen_fillmode[info->fillMode],
.FrontFaceFillMode = vk_to_gen_fillmode[info->polygonMode],
.BackFaceFillMode = vk_to_gen_fillmode[info->polygonMode],
.ScissorRectangleEnable = !(extra && extra->disable_scissor),
#if ANV_GEN == 8
.ViewportZClipTestEnable = info->depthClipEnable