Misc textured video fixes.
[nouveau] / src / nv30_shaders.h
1 #ifndef __NV30_SHADERS_H__
2 #define __NV30_SHADERS_H__
3
4 #define NV_SHADER_MAX_PROGRAM_LENGTH 256
5
6 #include "nv_include.h"
7
8 typedef struct nv_shader {
9         uint32_t hw_id;
10         uint32_t size;
11         union {
12                 struct {
13                         uint32_t vp_in_reg;
14                         uint32_t vp_out_reg;
15                 } NV30VP;
16                 struct  {
17                         uint32_t num_regs;
18                 } NV30FP;
19         } card_priv;
20         uint32_t data[NV_SHADER_MAX_PROGRAM_LENGTH];
21 } nv_shader_t;
22
23 void NV40_LoadVtxProg(ScrnInfoPtr pScrn, nv_shader_t *shader);
24 void NV40_LoadFragProg(ScrnInfoPtr pScrn, nv_shader_t *shader);
25 void NV30_LoadFragProg(ScrnInfoPtr pScrn, nv_shader_t *shader);
26
27
28 /*******************************************************************************
29  * NV40/G70 vertex shaders
30  */
31
32 nv_shader_t nv40_vp_exa_render;
33 nv_shader_t nv40_vp_video;
34
35 /*******************************************************************************
36  * NV30/NV40/G70 fragment shaders
37  */
38
39 nv_shader_t nv30_fp_pass_col0;
40 nv_shader_t nv30_fp_pass_tex0;
41 nv_shader_t nv30_fp_composite_mask;
42 nv_shader_t nv30_fp_composite_mask_sa_ca;
43 nv_shader_t nv30_fp_composite_mask_ca;
44 nv_shader_t nv30_fp_yv12_bicubic;
45 nv_shader_t nv30_fp_yv12_bilinear;
46 nv_shader_t nv40_fp_yv12_bicubic;
47
48 #endif