Kenneth Graunke
c9aabc866f
Implement 1.30 hyperbolic trig builtins (sinh, cosh, tanh).
před 15 roky
Kenneth Graunke
1d0e07c420
Implement 1.20 'transpose' builtin.
před 15 roky
Kenneth Graunke
43ff6fc4ae
Implement 1.20 'outerProduct' builtin.
před 15 roky
Kenneth Graunke
0c8ffadc8c
Implement matrixCompMult builtin - the last of the 110 builtins.
před 15 roky
Kenneth Graunke
d6a32d4b54
ir_constant_visitor: Add support for dFdx and dFdy operations.
If the argument is a constant expression...it's not changing per pixel,
so the result is simply 0.
před 15 roky
Kenneth Graunke
b843c7a20c
Implement dFdx, dFdy, and fwidth via new expression opcodes.
před 15 roky
Kenneth Graunke
cbd881da3f
Implement 'refract' builtin.
před 15 roky
Kenneth Graunke
3ffedf1249
Fix some typing issues in asin.
CorrectFunction.vert now passes.
před 15 roky
Kenneth Graunke
c476ba8fe2
Add a completely bogus implementation of the noise[1234] builtins.
idr suggested this. Eventually we will need a real one.
před 15 roky
Kenneth Graunke
855fcb22c1
Implement 'acos' builtin.
This is tacked on to the end of the 'asin' file because acos calls asin,
whech means asin needs to be defined first. Alphabetical order fail.
před 15 roky
Kenneth Graunke
539f29323f
Implement 'faceforward' builtin.
před 15 roky
Kenneth Graunke
29b22287fe
Implement 'distance' builtin.
před 15 roky
Kenneth Graunke
cdf1726ffd
Add remaining signatures for 'clamp' builtin.
před 15 roky
Kenneth Graunke
76796ed66f
Add remaining signatures for 'max' builtin.
před 15 roky
Kenneth Graunke
47d44c877e
Add remaining signatures for 'min' builtin.
před 15 roky
Kenneth Graunke
2438f64e63
Add remaining signatures for 'mod' builtin.
před 15 roky
Kenneth Graunke
b97efa5db5
ir_function_cloning_visitor: Add support for ir_texture.
před 15 roky
Kenneth Graunke
8331d48948
Don't call _mesa_glsl_initialize_types for every builtin function.
This was clearly wrong; types are now only initialized once.
před 15 roky
Kenneth Graunke
57503a22d7
Only initialize types after #extension directives have been processed.
Since _mesa_glsl_initialize_types add types for various extensions, we
can't call it until after processing "#extension foo : disable" lines.
Fixes tex_rect_02.frag.
před 15 roky
Kenneth Graunke
4b0029a97d
Commit output of texture_builtins.py and refresh builtin_function.cpp.
před 15 roky
Kenneth Graunke
5e65c1ccae
texture_builtins.py: Support the EXT_texture_array extension.
před 15 roky
Kenneth Graunke
0d80f71867
Add EXT_texture_array support.
před 15 roky
Kenneth Graunke
cc249f79e7
generate_builtins.pl: Support stage-specific builtins even for extensions.
před 15 roky
Kenneth Graunke
c34a624c9f
texture_builtins.py: Fixes for Array variants.
The array layer is now included as part of the texture coordinate.
před 15 roky
Kenneth Graunke
538da12092
texture_builtins.py: Add support for 130 Proj variants.
před 15 roky
Kenneth Graunke
b3bcea7db6
Add a python script to generate texture builtins.
před 15 roky
Kenneth Graunke
9aefbe838c
generate_builtins.pl: Support directiories for each extension.
před 15 roky
Kenneth Graunke
9d1fc46f0c
generate_builtins.pl: Support _fs directories as well as _vs.
před 15 roky
Kenneth Graunke
56d3f6ad78
Set the type of ir_texture properly; infer it from the sampler type.
před 15 roky
Kenneth Graunke
dd5b4a544b
ir_reader: Add support for reading ir_texture.
před 15 roky
Kenneth Graunke
3c7934bfaa
ir_reader: Refactor reading of dereferences for later reuse.
před 15 roky
Kenneth Graunke
26d74cd1d1
Add stub visitor support for ir_texture.
před 15 roky
Kenneth Graunke
be298063b5
ir_print_visitor: Add support for ir_texture.
před 15 roky
Kenneth Graunke
c30f6e5dea
Add mappings between ir_texture_opcode and strings.
před 15 roky
Ian Romanick
81377c012c
Define IR instruction for texture look-ups
před 15 roky
Ian Romanick
2f8b0435b0
Use array delete operator to delete an array
This was detected by valgrind. I think GCC still does the right
thing, but the C++ spec allows the compiler to do something
stupid... like crash or only delete the first entry in the array.
před 15 roky
Ian Romanick
cfb3536f10
Bump GL_MAX_TEXTURE_COORDS from 2 to 4
Every platform that supports GLSL sets GL_MAX_TEXTURE_COORDS to at
least 4, so hard-code 4 for now.
This causes the following tests to pass:
glslparsertest/glsl2/norsetto-bumptbn_sh_fp.vert
glslparsertest/glsl2/xreal-lighting-d-omni.vert
glslparsertest/glsl2/xreal-lighting-db-omni.vert
glslparsertest/glsl2/xreal-lighting-dbs-omni.vert
před 15 roky
Ian Romanick
19eb5896c4
Only allow global precision qualifier for int and float
This causes the following tests to pass:
glslparsertest/glsl2/precision-03.vert
před 15 roky
Ian Romanick
9bcb67bdc4
Fix parsing of precision qualifiers
This causes the following tests to pass:
glslparsertest/glsl2/precision-02.vert
glslparsertest/glsl2/precision-04.vert
glslparsertest/glsl2/precision-06.vert
This causes the following test to fail. This shader was previously
failing to compile, but it was failing for the wrong reasons.
glslparsertest/glsl2/precision-03.vert
před 15 roky
Ian Romanick
15d162d7b1
Don't process empty shaders
Some valid shaders, such as 'precision highp float;', evaluate to
empty sets of instructions. This causes some of the optimization
stages to enter infinite loops. Instead, don't bother processing the
empty ones.
před 15 roky
Ian Romanick
6cd2a5cc4b
Generate an error on empty declaration lists
This causes an error for code such as 'float;'
před 15 roky
Kenneth Graunke
603b8fc4b2
Check variable mode when comparing qualifier lists.
Fixes function-05.vert.
před 15 roky
Ian Romanick
384c051b8c
ir_dereference_array always operates on an r-value
ir_dereference_array::array is always an r-value. If the dereference
is of a varaible, that r-value will be an ir_dereference_variable.
This simplifies the code a bit.
před 15 roky
Ian Romanick
35159b542c
There is no class ir_label, so there's no need for ir_instruction::as_label
před 15 roky
Ian Romanick
c8021ee01d
Remove some cruft from the Makefile
This was affecting the build, but the files don't actually exist.
před 15 roky
Eric Anholt
aa5794384f
Add builtin gl_LightSource[].
Fixes gst-gl-bumper.vert parsing.
před 15 roky
Eric Anholt
5b9ac87941
builtins: Add support for reflect().
Fixes glsl-orangebook-ch06.frag parsing.
před 15 roky
Eric Anholt
da46e5f534
builtins: Add ftransform().
Fixes glsl-orangebook-ch06-bump.vert.
před 15 roky
Eric Anholt
0ca171908d
Allow arrays of floats as varyings.
The comment just above the code said arrays were OK, then it didn't
handle arrays. Whoops. Partially fixes CorrectUnsizedArray.frat.
před 15 roky
Eric Anholt
cd512b0063
gl_Normal is a vec3 not a vec4.
Fixes CorrectSwizzle1.vert.
před 15 roky