nv50_program.h revision aea1669ff221f97682f0be6a60632e40c2739d09
1#ifndef __NV50_PROGRAM_H__
2#define __NV50_PROGRAM_H__
3
4#include "pipe/p_state.h"
5#include "tgsi/util/tgsi_scan.h"
6
7struct nv50_program_exec {
8	struct nv50_program_exec *next;
9
10	unsigned inst[2];
11	struct {
12		int index;
13		unsigned mask;
14		unsigned shift;
15	} param;
16};
17
18struct nv50_program {
19	struct pipe_shader_state pipe;
20	struct tgsi_shader_info info;
21	boolean translated;
22
23	unsigned type;
24	struct nv50_program_exec *exec_head;
25	struct nv50_program_exec *exec_tail;
26	unsigned exec_size;
27	struct nouveau_resource *data;
28	unsigned data_start;
29
30	struct pipe_buffer *buffer;
31
32	float *immd;
33	unsigned immd_nr;
34	unsigned param_nr;
35
36	struct {
37		unsigned high_temp;
38		struct {
39			unsigned attr[2];
40		} vp;
41	} cfg;
42};
43
44#endif
45