Age | Commit message (Collapse) | Author |
|
GLSL Vertex and fragment shaders now have independent parameter buffers.
A new gl_uniform_list is used to keep track of program uniforms and where
each uniform is located in each shader's parameter buffer.
This makes better use of the space in each buffer and simplifies shader linking.
|
|
|
|
GLSL sampler variables indicate which texture unit to use for TEX instructions.
Previously, this was baked into the fragment/vertex program and couldn't be
readily changed once set.
Now, SamplerUnits[] array indicates which texture unit is to be used for
each sampler variable. These values are set with glUniform1i().
This is extra state that must be passed to the fragment/vertex program
executor at runtime.
|
|
of -I flags.
|
|
produced by vertex shader.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
swizzleOut==NULL.
There are times when we don't want to allow swizzling when searching for or
adding vector constants. Passing NULL for swizzleOut disables swizzling.
This fixes a constant/swizzle bug in link_uniform_vars().
|
|
|
|
|
|
|
|
|
|
This eliminates the NOP instructions that had been used as placeholders for
branch targets.
Also, fix "return" statement bug.
|
|
|
|
|
|
Also, start moving high vs. low-level instruction selection into slang_emit.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Clean-up ARB_shaderobjects code a bit.
|
|
- add support for varyings;
GLSL fixes:
- pow was wrongly computed in x86 back-end;
|
|
- add texture sampling support;
- fix assembly codegen bugs;
|
|
- add x86 code generator;
- add full support for uniforms in ARB_shader_objects;
- add assembly instruction: global_addr;
- reorganize #includes;
- built-in uniforms accessed by index, rather than by name;
- add some entries to x86sse rtasm;
- add configurations to VC6 projects: 'Release x86' and 'Debug x86';
- #define SLANG_X86 active only on VC6 x86 builds;
- introduce code export table for a shader;
- remove GNU license from the noise library;
|
|
- uniforms (only GetLocation, Uniform1f and Uniform4fv for now for demos);
- fix bugs and optimize array size handling;
- 2D texture sampling (needs Enable(TEXTURE_2D) to work);
- decrease built-in library assembly size by 30%.
|