1 #ifndef __NV50_PROGRAM_H__
2 #define __NV50_PROGRAM_H__
4 #include "pipe/p_state.h"
5 #include "tgsi/tgsi_scan.h"
7 struct nv50_program_exec
{
8 struct nv50_program_exec
*next
;
20 uint8_t id
; /* tgsi index, nv50 needs them sorted: flat ones last */
27 struct pipe_shader_state pipe
;
28 struct tgsi_shader_info info
;
32 struct nv50_program_exec
*exec_head
;
33 struct nv50_program_exec
*exec_tail
;
35 struct nouveau_resource
*data
[1];
36 unsigned data_start
[1];
38 struct nouveau_bo
*bo
;
51 /* for VPs, io_nr doesn't count 'private' results (PSIZ etc.) */
53 struct nv50_sreg4 io
[PIPE_MAX_SHADER_OUTPUTS
];
55 /* FP colour inputs, VP/GP back colour outputs */
56 struct nv50_sreg4 two_side
[2];
59 uint8_t clpd
, clpd_nr
;