Commit graph

20971 commits

Author SHA1 Message Date
Brian Paul
e153275ae8 mesa: code clean-up in glsl compiler
(cherry picked from commit d4be09fb2b)
2009-01-06 09:11:52 -07:00
Brian Paul
70050191ed mesa: remove unneeded swizzle init code in glsl compiler
(cherry picked from commit 240e211c71)
2009-01-06 09:11:40 -07:00
Brian Paul
9d6804bd28 mesa: disable glsl debug output
(cherry picked from commit 4d49fc83f1)
2009-01-06 09:11:20 -07:00
Brian Paul
ceaf57524b mesa: remove unused varpool code in glsl compiler
(cherry picked from commit 81253be334)
2009-01-06 09:11:08 -07:00
Brian Paul
71ef9e3775 mesa: basic array constructors work now
For example: float[3] xxx = float[3](1.1, 2.2, 3.3);

Optimizations for const-qualified arrays next.

(cherry picked from commit 5c0c5e5af9)
2009-01-06 09:10:59 -07:00
Brian Paul
ae701a1201 mesa: copy array_len in slang_fully_specified_type_copy()
(cherry picked from commit c20d00f04b)
2009-01-06 09:10:44 -07:00
Brian Paul
91535b8a61 mesa: remove incorrect array_len assignment
(cherry picked from commit 9016331d0f)
2009-01-06 09:10:35 -07:00
Brian Paul
a2ca0c0430 mesa: array size fix in _slang_typeof_operation()
(cherry picked from commit 87a00959ba)
2009-01-06 09:10:21 -07:00
Brian Paul
47331842d4 mesa: fix some more GLSL 1.20 array things.
Function that return arrays should work now.

(cherry picked from commit 8571401d7d)
2009-01-06 09:10:09 -07:00
Brian Paul
3d7d6cfbc2 mesa: more glsl function renaming
(cherry picked from commit d5367622a3)
2009-01-06 09:09:56 -07:00
Brian Paul
18dd05fbc5 mesa: use _slang_alloc()
(cherry picked from commit b4019483de)
2009-01-06 09:09:47 -07:00
Brian Paul
c22801841c mesa: glsl compiler function renaming
(cherry picked from commit 456a4e274f)
2009-01-06 09:09:38 -07:00
Brian Paul
9fc529bcff mesa: more glsl type/function movement
(cherry picked from commit 9a174ef409)
2009-01-06 09:09:20 -07:00
Brian Paul
a5cd8fef91 mesa: move some glsl compiler functions to different files to be more consistant
(cherry picked from commit aeeb9bca27)
2009-01-06 09:09:11 -07:00
Brian Paul
fbc55bfbb8 mesa: move _slang_locate_function() to different file
(cherry picked from commit ea9dc3879f)
2009-01-06 09:09:03 -07:00
Brian Paul
a7e3f85fd6 mesa: remove unused fixup table code in glsl compiler
(cherry picked from commit 19ca2908be)
2009-01-06 09:08:54 -07:00
Brian Paul
593073a3b3 mesa: checkpoint: GLSL 1.20 array constructors
(cherry picked from commit ade777ea1b)
2009-01-06 09:08:35 -07:00
Brian Paul
0d293f6687 mesa: consolidate variable declaration initializer code for globals too
(cherry picked from commit 1737f2dbdd)
2009-01-06 09:08:16 -07:00
Brian Paul
6bc2fa0f82 mesa: move variable initializer IR generation into _slang_gen_var_decl()
More code consolidation coming...

(cherry picked from commit 2760bca1e1)
2009-01-06 09:08:07 -07:00
Brian Paul
de4f208866 mesa: simplify some glsl variable declaration code
(cherry picked from commit 05ed9f7fe9)
2009-01-06 09:07:58 -07:00
Brian Paul
6095b7e224 mesa: glsl clean-ups
(cherry picked from commit 929eb00b32)
2009-01-06 09:07:42 -07:00
Brian Paul
9b28d5ecd6 mesa: checkpoint commit of GLSL 1.20 array syntax.
This allows things like float[3] x = float[3](1., 2., 3.);

Parsing and AST construction now.  Codegen not working yet.

(cherry picked from commit 2dc3de016c)
2009-01-06 09:07:29 -07:00
Brian Paul
1f8109dd06 mesa: in slang linker, replace assertion with link error when max samplers exceeded
(cherry picked from commit e8f5c1a5e8)
2009-01-06 09:05:53 -07:00
Brian
525145a9f6 mesa: fix conditional in save_Lightfv(), bug 18838
(cherry picked from commit 1e2f574251)
2009-01-06 09:04:31 -07:00
Brian Paul
aeb3caeba5 mesa: add missing type check for function calls
(cherry picked from commit 001b1cbb0d)
2009-01-06 09:03:23 -07:00
Brian Paul
e42ed1ed0b mesa: add missing size check for assignment optimization
(cherry picked from commit aa40de5c6f)
2009-01-06 09:03:06 -07:00
Brian Paul
96cab36e2e mesa: remove debug code
(cherry picked from commit fea3a32e17)
2009-01-06 09:02:47 -07:00
Brian Paul
b8cf2f0076 gallium: added centroid/invarient fields to declarations
(cherry picked from commit 4de360e67d)
2009-01-06 09:01:18 -07:00
Brian Paul
06f2139b82 mesa: added support for GLSL 1.20 array.length() method
This is the only method supported in GLSL 1.20 so we take a few short-cuts.

(cherry picked from commit 8d95e66cf7)
2009-01-06 09:00:35 -07:00
Brian Paul
d450ede4c4 mesa: support for GLSL 1.20 array types
This allows syntax like "float[8] foo, bar;"

(cherry picked from commit 0fab514ff5)
2009-01-06 09:00:24 -07:00
Brian Paul
89acfecd0b mesa: pass shader centroid/invariant info through to the TGSI shader
(cherry picked from commit c5b52b5e0e)
2009-01-06 08:57:58 -07:00
Brian Paul
dc48ae97dc tgsi: add tgsi_declaration fields for centroid sampling, invariant optimization
(cherry picked from commit 434e255eae)
2009-01-06 08:57:28 -07:00
Brian Paul
a48b004c44 mesa: add gl_program::Input/OutputFlags[] array
These arrays will indicate per-input or per-output options for vertex/fragment
programs such as centroid-sampling and invariance.

(cherry picked from commit b730d0d3e9)
2009-01-06 08:54:23 -07:00
Brian Paul
71c900abc7 mesa: copy centroid/invariance/precision info in parse_init_declarator()
(cherry picked from commit a203713738)
2009-01-06 08:53:46 -07:00
Brian Paul
674d7181f8 mesa: check that varying variable qualifiers agree
(cherry picked from commit dc1107c08d)
2009-01-06 08:53:35 -07:00
Brian Paul
19111c5efc mesa: copy precision/variant/centroid info in slang_fully_specified_type_copy()
(cherry picked from commit 0e2f757413)
2009-01-06 08:53:28 -07:00
Brian Paul
c249ac6d14 mesa: set flags for varying vars
(cherry picked from commit 3197954554)
2009-01-06 08:53:01 -07:00
Brian Paul
af988262e3 mesa: rename program parameter flags to match other Mesa conventions
(cherry picked from commit f490ec9797)
2009-01-06 08:52:49 -07:00
Brian Paul
64de78723c mesa: copy Flags in _mesa_clone_parameter_list()
(cherry picked from commit 08b825a771)
2009-01-06 08:52:39 -07:00
Brian Paul
a92af00e2a mesa: dump/debug varying vars list
(cherry picked from commit 3f6668a4bf)
2009-01-06 08:52:19 -07:00
Brian Paul
36f9d3fa9a mesa: added PROG_PARAM_ bits for invariant, flat/linear interpolation
Plus, update the print/debug code.

(cherry picked from commit 777a5c4f2e)
2009-01-06 08:52:08 -07:00
Brian Paul
ee3da89b19 mesa: add Flags field to gl_program_parameter
Only one flag defined so far: PROG_PARAM_CENTROID_BIT

(cherry picked from commit 0f228d7ab3)
2009-01-06 08:51:45 -07:00
Brian Paul
716ccb11a2 mesa: issue error, don't crash, when calling a prototyped, but undefined function
Bug #18659.

(cherry picked from commit 4f05893415)
2009-01-06 08:51:24 -07:00
Brian Paul
db2cde413c mesa: better variable name: s/aux/store/
(cherry picked from commit b63a31b36f)
2009-01-06 08:51:00 -07:00
Brian Paul
515a43da16 mesa: minor comment reformattting
(cherry picked from commit bab4e78734)
2009-01-06 08:50:33 -07:00
Brian Paul
620a2bad22 mesa: glsl compiler debug code
RETURN0 macro reports file/line before returning zero.

(cherry picked from commit bf7f9d2143)
2009-01-06 08:50:14 -07:00
Brian Paul
e779e33261 mesa: rework GLSL array code generation
We now express arrays in terms of indirect addressing.  For example:
  dst = a[i];
becomes:
  MOV dst, TEMP[1 + TEMP[2].y];
At instruction-emit time indirect addressing is converted into ARL/
ADDR-relative form:
  ARL ADDR.x, TEMP[2].y;
  MOV dst, TEMP[1 + ADDR.x];
This fixes a number of array-related issues.  Arrays of arrays and complex
array/struct nesting works now.
There may be some regressions, but more work is coming.

(cherry picked from commit ae0ff8097b)
2009-01-06 08:49:40 -07:00
Brian Paul
ef4bd18a50 mesa: don't realloc instruction buffer so often
(cherry picked from commit e709d68d92)
2009-01-06 08:49:27 -07:00
Brian Paul
2a6c12cf53 mesa: updated comment
(cherry picked from commit d9fa9e3290)
2009-01-06 08:49:08 -07:00
Brian Paul
def84fac39 mesa: fix merge conflict left-overs 2009-01-06 08:48:27 -07:00