nvc0: handle TGSI_SEMANTIC_LAYER
Cc: 10.1 <mesa-stable@lists.freedesktop.org>
This commit is contained in:
@@ -71,7 +71,6 @@ struct nv50_ir_varying
|
||||
|
||||
#define NV50_SEMANTIC_CLIPDISTANCE (TGSI_SEMANTIC_COUNT + 0)
|
||||
#define NV50_SEMANTIC_VIEWPORTINDEX (TGSI_SEMANTIC_COUNT + 4)
|
||||
#define NV50_SEMANTIC_LAYER (TGSI_SEMANTIC_COUNT + 5)
|
||||
#define NV50_SEMANTIC_INVOCATIONID (TGSI_SEMANTIC_COUNT + 6)
|
||||
#define NV50_SEMANTIC_TESSFACTOR (TGSI_SEMANTIC_COUNT + 7)
|
||||
#define NV50_SEMANTIC_TESSCOORD (TGSI_SEMANTIC_COUNT + 8)
|
||||
|
||||
@@ -861,8 +861,8 @@ int Source::inferSysValDirection(unsigned sn) const
|
||||
case TGSI_SEMANTIC_INSTANCEID:
|
||||
case TGSI_SEMANTIC_VERTEXID:
|
||||
return 1;
|
||||
#if 0
|
||||
case TGSI_SEMANTIC_LAYER:
|
||||
#if 0
|
||||
case TGSI_SEMANTIC_VIEWPORTINDEX:
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
@@ -532,7 +532,7 @@ recordLocation(uint16_t *locs, uint8_t *masks,
|
||||
case TGSI_SEMANTIC_INSTANCEID: locs[SV_INSTANCE_ID] = addr; break;
|
||||
case TGSI_SEMANTIC_VERTEXID: locs[SV_VERTEX_ID] = addr; break;
|
||||
case TGSI_SEMANTIC_PRIMID: locs[SV_PRIMITIVE_ID] = addr; break;
|
||||
case NV50_SEMANTIC_LAYER: locs[SV_LAYER] = addr; break;
|
||||
case TGSI_SEMANTIC_LAYER: locs[SV_LAYER] = addr; break;
|
||||
case NV50_SEMANTIC_VIEWPORTINDEX: locs[SV_VIEWPORT_INDEX] = addr; break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -64,7 +64,7 @@ nvc0_shader_output_address(unsigned sn, unsigned si, unsigned ubase)
|
||||
switch (sn) {
|
||||
case NV50_SEMANTIC_TESSFACTOR: return 0x000 + si * 0x4;
|
||||
case TGSI_SEMANTIC_PRIMID: return 0x060;
|
||||
case NV50_SEMANTIC_LAYER: return 0x064;
|
||||
case TGSI_SEMANTIC_LAYER: return 0x064;
|
||||
case NV50_SEMANTIC_VIEWPORTINDEX: return 0x068;
|
||||
case TGSI_SEMANTIC_PSIZE: return 0x06c;
|
||||
case TGSI_SEMANTIC_POSITION: return 0x070;
|
||||
|
||||
@@ -190,7 +190,7 @@ nvc0_gmtyprog_validate(struct nvc0_context *nvc0)
|
||||
|
||||
/* we allow GPs with no code for specifying stream output state only */
|
||||
if (gp && gp->code_size) {
|
||||
const boolean gp_selects_layer = gp->hdr[13] & (1 << 9);
|
||||
const boolean gp_selects_layer = !!(gp->hdr[13] & (1 << 9));
|
||||
|
||||
BEGIN_NVC0(push, NVC0_3D(MACRO_GP_SELECT), 1);
|
||||
PUSH_DATA (push, 0x41);
|
||||
|
||||
Reference in New Issue
Block a user