summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nv50/nv50_program.h
diff options
context:
space:
mode:
authorMarcin Slusarz <[email protected]>2012-06-27 14:45:17 +0200
committerMarcin Slusarz <[email protected]>2012-06-28 00:01:02 +0200
commit1906d2b46b21a8e7496409e0639d8463ad86dcfe (patch)
tree24800adb306c232fe2253c536b6071292a04b293 /src/gallium/drivers/nv50/nv50_program.h
parent0fceaee4fd8f745e71cbc4e1d24520ac7e11c2cd (diff)
nv50: dynamically allocate space for shader local storage
Fixes 21 piglit tests: spec/glsl-1.10/execution/variable-indexing/ fs-temp-array-mat4-index-col-row-wr vs-temp-array-mat4-index-col-row-wr vs-temp-array-mat4-index-row-wr spec/glsl-1.20/execution/variable-indexing/ fs-temp-array-mat3-index-col-row-rd fs-temp-array-mat3-index-row-rd fs-temp-array-mat4-col-row-wr fs-temp-array-mat4-index-col-row-rd fs-temp-array-mat4-index-col-row-wr fs-temp-array-mat4-index-row-rd fs-temp-array-mat4-index-row-wr vs-temp-array-mat3-index-col-row-rd vs-temp-array-mat3-index-col-row-wr vs-temp-array-mat3-index-row-rd vs-temp-array-mat3-index-row-wr vs-temp-array-mat4-col-row-wr vs-temp-array-mat4-index-col-row-rd vs-temp-array-mat4-index-col-row-wr vs-temp-array-mat4-index-col-wr vs-temp-array-mat4-index-row-rd vs-temp-array-mat4-index-row-wr vs-temp-array-mat4-index-wr ... and prevents a lot of GPU lockups
Diffstat (limited to 'src/gallium/drivers/nv50/nv50_program.h')
-rw-r--r--src/gallium/drivers/nv50/nv50_program.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/gallium/drivers/nv50/nv50_program.h b/src/gallium/drivers/nv50/nv50_program.h
index f56268b5439..24eaebfb473 100644
--- a/src/gallium/drivers/nv50/nv50_program.h
+++ b/src/gallium/drivers/nv50/nv50_program.h
@@ -28,8 +28,6 @@ struct nv50_context;
#include "pipe/p_state.h"
#include "pipe/p_shader_tokens.h"
-#define NV50_CAP_MAX_PROGRAM_TEMPS 64
-
struct nv50_varying {
uint8_t id; /* tgsi index */
uint8_t hw; /* hw index, nv50 wants flat FP inputs last */
@@ -56,7 +54,6 @@ struct nv50_program {
ubyte type;
boolean translated;
- boolean uses_lmem;
uint32_t *code;
unsigned code_size;
@@ -64,6 +61,7 @@ struct nv50_program {
uint32_t *immd;
unsigned immd_size;
unsigned parm_size; /* size limit of uniform buffer */
+ uint32_t tls_space; /* required local memory per thread */
ubyte max_gpr; /* REG_ALLOC_TEMP */
ubyte max_out; /* REG_ALLOC_RESULT or FP_RESULT_COUNT */