Age | Commit message (Collapse) | Author |
|
|
|
No longer use semantic info in pipe_shader_state.
Also, remove redundant semantic info from i915_fp_compile struct.
|
|
Allocate a temporary register, insert MOV instruction, etc.
|
|
|
|
allocation
Before, fragment shaders were translated to i915 hw code at bind time, rather
than create time. Now there's an i915_fragment_shader struct with the expected
contents that's created by i915_create_fs_state(). Translation to i915 code
takes place there too.
Immediates are handled correctly now. During program translation we keep
track of which constant buffer slots are free (i.e. not referenced by the
shader). Then the TGSI immediates and ancillary immediates (introduced for
SIN/COS/etc) are put into those free slots.
When it's time to upload the constant buffer, use the fp->constant_flags[]
array to determine if we should grab an immediate from the shader, or a
user-defined parameter from the gallium constant buffer.
|
|
Update the Makefiles and includes for the new paths.
Note that there hasn't been no separation of the Makefiles yet, and make is
jumping all over the place. That will be taken care shortly. But for now, make
should work. It was tested with linux and linux-dri. Linux-cell and linux-llvm
might require some minor tweaks.
|
|
This is in a separate commit to ensure renames are properly preserved.
|