Age | Commit message (Collapse) | Author |
|
|
|
|
|
I didn't expect that this would really work, but it turns out there
are shaders in the wild that do it.
Fixes: (with swrast)
glsl-fs-main-return
glsl-vs-main-return
|
|
We'll need to use the HALT instruction to do this right, like returns
from other functions.
|
|
These binops are the vector-to-bool comparisons, not vec-to-bvec. We
likely want both operations avilable as expression, since 915 and 965
FS naturally does the vector version, while 965 VS can also naturally
do the scalar version. However, we can save that until later.
Fixes:
glsl-fs-vec4-operator-equal.shader_test
glsl-fs-vec4-operator-notequal.shader_test
glsl-vs-vec4-operator-equal.shader_test
glsl-vs-vec4-operator-notequal.shader_test
|
|
Fixes glsl-fs-sign and many of the tests of trig builtins.
|
|
Fixes glsl-unused-varying and many others, since we produce an output
reg read any time gl_FragColor is written inside an if statement.
|
|
Fixes glsl-fs-dot-vec2.
|
|
Now that we have glsl2 with if flattening in place, most shaders will
just work. Remaining failing shaders will mostly be due to loop
unrolling (in progress), some possible if flattening failures in
inlining functions (planning on fixing), and the register/instruction
count limits.
While the GLSL and GLSL-ES specs say that shaders shouldn't fail to
compile/link due to register/instruction limits, in practice we're not
the first vendor to expose GLSL on hardware with these limitations.
The benefit to application developers of providing a better language
for GPU programming is greater than the pain of having to handle
instruction limits (which they had to for ARB_fp on this hardware
anyway)
|
|
with glsl2, reads from outputs are legal
|
|
In one optimization pass, register files may have been messed therefore
merging instructions which use the same index in two different register
files.
|
|
Fixes glsl-vs-dot-vec2.
|
|
This will make extracting source to produce minimal testcases for
shader compile issues easier.
|
|
|
|
needed to add cpp rules and includes properly for es1/es2
|
|
This saves an extra message reg move in the program, though I'm not
clear on whether it will have any performance impact other than cache
footprint. It will also fix those math calls on Sandybridge, where
the brw_eu_emit.c brw_math() support relies on the implied move being
used.
|
|
|
|
Conflicts:
src/mesa/program/prog_optimize.c
|
|
|
|
|
|
|
|
- set VGT_MAX_VTX_INDX to a larger value
- emit PA_SC_AA_CONFIG. The command checker in 2.6.36+
requires this reg.
|
|
'struct dd_function_table' only conditionally contains
the function pointer NewFramebuffer and friends based on
FEATURE_EXT_framebuffer_* defines. (See src/mesa/main/dd.h)
Fixes the build when the features are disabled and the vfuncs
don't exist.
|
|
'struct dd_function_table' only conditionally contains
the function pointer NewFramebuffer and friends based on
FEATURE_EXT_framebuffer_* defines. (See src/mesa/main/dd.h)
Fixes the build when the features are disabled and the vfuncs
don't exist.
|
|
'struct dd_function_table' only conditionally contains
the function pointer NewFramebuffer and friends based on
FEATURE_EXT_framebuffer_* defines. (See src/mesa/main/dd.h)
Fixes the build when the features are disabled and the vfuncs
don't exist.
|
|
|
|
Include compiler.h for _ASMAPI symbol.
Include mtypes.h for GLcontext symbol.
|
|
|
|
Remove imports.h, mtypes.h, and slang_vartable.h.
Include glheader.h for GL symbols.
|
|
Include slang_vartable.h for slang_var_table symbol.
|
|
Include compiler.h for INLINE symbol.
|
|
Remove slang_compile.h.
Include glheader.h for GL symbols.
Include slang_compile_function.h for slang_function_scope symbol.
Include slang_compile_struct.h for slang_struct_scope symbol.
Include slang_compile_variable.h for slang_variable_scope symbol.
Include slang_typeinfo.h for slang_type_specifier symbol.
Include slang_utility.h for slang_atom_pool symbol.
|
|
slang_mem.h
Remove imports.h.
Include glheader.h for GL symbols.
slang_label.c
Include imports.h now that slang_mem.c does not include it.
|
|
Remove imports.h and slang_compile.h.
Include glheader.h for GL symbols.
Include slang_compile_variable.h for slang_variable symbol.
|
|
Include slang_compile.h for _slang_compile function.
|
|
Include slang_typeinfo.h for slang_type_specifier symbol.
Include slang_compiler_struct.h for slang_struct_ symbol.
|
|
This is a GLSL2 regression fix.
|
|
|
|
|
|
|
|
|
|
Fix self inclusion introduced by commit
4fef77c7c5455b983daa93cacf90d2b3baa3967e.
|
|
Include prog_instruction.h for gl_inst_opcode symbol.
|
|
Remove slang_compile.h.
Include mtypes.h for GLcontext symbol.
|
|
Move mtypes.h and prog_instruction.h to slang_label.c.
Remove imports.h.
Include glheader.h from GL symbols.
|
|
Remove imports.h.
Remove mtypes.h.
Remove slang_compile.h.
Include glheader.h for GL symbols.
Include slang_vartable.h for slang_var_table symbol.
|
|
Remove imports.h.
Remove slang_typeinfo.h.
Remove slang_compile_operation.h.
Include glheader.h for GL symbols.
Include slang_utility.h for slang_atom_pool symbol.
|
|
Include glheader.h for GL symbols.
Include slang_utility.h for slang_atom symbol.
|
|
Include glheader.h for GL symbols.
Include slang_compile_function.h for slang_function symbol.
Include slang_compile_operation.h for slang_operation symbol.
Include slang_compile_variable.h for slang_variable and slang_variable_scope symbols.
Include slang_typeinfo.h for slang_type_qualifer and slang_fully_specified_type symbols.
|
|
Include glheader.h for GL symbols.
Include slang_compile_function.h for slang_function symbol.
Include slang_compile_operation.h for slang_operation symbol.
Include slang_compile_variable.h for slang_variable and
slang_variable_scope symbols.
Include slang_log.h for slang_info_log symbols.
Include slang_utility.h for slang_atom and slang_atom_pool symbols.
|