Brian Paul [Thu, 9 Dec 2010 23:02:12 +0000 (16:02 -0700)]
draw/llvm: remove extraneous conditional
Luca Barbieri [Wed, 1 Dec 2010 23:12:07 +0000 (15:12 -0800)]
glsl: Unroll loops with conditional breaks anywhere (not just the end)
Currently we only unroll loops with conditional breaks at the end, which is
the form that lower_jumps generates.
However, if breaks are not lowered, they tend to appear at the beginning, so
add support for a conditional break anywhere.
Signed-off-by: Luca Barbieri <luca@luca-barbieri.com>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Kenneth Graunke [Wed, 1 Dec 2010 23:33:56 +0000 (15:33 -0800)]
glsl: Consider the "else" branch when looking for loop breaks.
Found this bug by code inspection. Based off the comments just before
this code, the intent is to find whether the break exists in the "then"
branch or the "else" branch. However, the code actually looked at the
last instruction in the "then" branch twice.
Kenneth Graunke [Wed, 1 Dec 2010 23:06:47 +0000 (15:06 -0800)]
glsl: Clean up code by adding a new is_break() function.
Eric Anholt [Thu, 9 Dec 2010 22:31:43 +0000 (14:31 -0800)]
glsl: Correct the marking of InputsRead/OutputsWritten on in/out matrices.
If you used a constant array index to access the matrix, we'd flag a
bunch of wrong inputs/outputs as being used because the index was
multiplied by matrix columns and the actual used index was left out.
Fixes glsl-mat-attribute.
Eric Anholt [Thu, 9 Dec 2010 21:51:21 +0000 (13:51 -0800)]
intel: Set the swizzling for depth textures using the GL_RED depth mode.
Fixes depth-tex-modes-rg.
Eric Anholt [Thu, 9 Dec 2010 21:45:47 +0000 (13:45 -0800)]
intel: Use plain R8 and RG8 for COMPRESSED_RED and COMPRESSED_RG.
Fixes texture-rg.
Vinson Lee [Thu, 9 Dec 2010 22:17:17 +0000 (14:17 -0800)]
i965: Silence uninitialized variable warning.
Fixes this GCC warning.
brw_fs.cpp: In function 'brw_reg brw_reg_from_fs_reg(fs_reg*)':
brw_fs.cpp:3255: warning: 'brw_reg' may be used uninitialized in this function
Vinson Lee [Thu, 9 Dec 2010 22:03:58 +0000 (14:03 -0800)]
r600g: Fix SCons build.
Jerome Glisse [Thu, 9 Dec 2010 21:16:22 +0000 (16:16 -0500)]
r600g: indentation cleanup
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Wed, 8 Dec 2010 18:41:25 +0000 (13:41 -0500)]
r600g: specialized upload manager
Allow important performance increase by doing hw specific implementation
of the upload manager helper. Drop the range flushing that is not hit with
this code (and wasn't with previous neither). Performance improvement are
mostly visible on slow CPU.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Thu, 9 Dec 2010 18:07:10 +0000 (13:07 -0500)]
r600g: avoid using pb* helper we are loosing previous cpu cycle with it
r600g is up to a point where all small CPU cycle matter and pb* turn
high on profile. It's mostly because pb try to be generic and thus
trigger unecessary check for r600g driver. To avoid having too much
abstraction & too much depth in the call embedded everythings into
r600_bo. Make code simpler & faster. The performance win highly depend
on the CPU & application considered being more important on slower CPU
and marginal/unoticeable on faster one.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Fabian Bieler [Wed, 1 Dec 2010 13:44:58 +0000 (14:44 +0100)]
glsl: fix lowering conditional returns in subroutines
this fix applies to the lower_sub_return 'branch' of the lower_jumps pass
Fixes piglit tests glsl-functions-5 and glsl-functions-6.
Eric Anholt [Thu, 9 Dec 2010 19:10:31 +0000 (11:10 -0800)]
i965: remove unused variable since brw_wm_glsl.c removal.
Eric Anholt [Thu, 9 Dec 2010 18:03:49 +0000 (10:03 -0800)]
i965: Set render_cache_read_write surface state bit on gen6 constant surfs.
This is said to be required in the spec, even when you aren't doing writes.
Eric Anholt [Wed, 16 Jun 2010 00:58:14 +0000 (17:58 -0700)]
i965: Set up the correct texture border color state struct for Ironlake.
This doesn't actually fix border color on Ironlake, but it appears to
be a requirement, and gen6 needs it too.
Eric Anholt [Thu, 9 Dec 2010 17:26:41 +0000 (09:26 -0800)]
i965: Clean up VS constant buffer location setup.
Eric Anholt [Thu, 9 Dec 2010 17:17:59 +0000 (09:17 -0800)]
i965: Fix VS constants regression pre-gen6.
Last minute change for gen6 with 0 used params dropped the multiply.
José Fonseca [Tue, 7 Dec 2010 16:59:25 +0000 (16:59 +0000)]
llvmpipe: Plug fence leaks.
Shuang He [Thu, 9 Dec 2010 00:49:51 +0000 (08:49 +0800)]
mesa: allow GLfixed arrays for OpenGL ES 2.0
Signed-off-by: Brian Paul <brianp@vmware.com>
Chia-I Wu [Thu, 9 Dec 2010 11:37:15 +0000 (19:37 +0800)]
mesa: Fix glTexCoordPointer with type GL_FIXED.
GL_FIXED is also a legal type for glTexCoordPointer.
Chia-I Wu [Thu, 9 Dec 2010 11:05:50 +0000 (19:05 +0800)]
mesa: Fix GL_FIXED arrays.
It is broken since
433e5e6defc85d8b1d6262aff990e3f5a8b37027.
Eric Anholt [Thu, 9 Dec 2010 01:00:54 +0000 (17:00 -0800)]
i965: Drop push-mode reladdr constant loading and always use constant_map.
This eases the gen6 implementation, which can only handle up to 32
registers of constants, while likely not penalizing real apps using
reladdr since all of those I've seen also end up hitting the pull
constant buffer. On gen6, the constant map means that simple NV VPs
fit under the 32-reg limit and now succeed. Fixes around 10 testcases.
Alex Deucher [Thu, 9 Dec 2010 05:13:21 +0000 (00:13 -0500)]
radeon: bump mip tree levels to 15
I forgot to bump this when I bumped the tex levels.
Brian Paul [Thu, 9 Dec 2010 04:38:35 +0000 (21:38 -0700)]
mesa: simplify target checking for TexImage functions
Brian Paul [Thu, 9 Dec 2010 04:38:35 +0000 (21:38 -0700)]
mesa: revamp error checking for compressed texture images
Simplify some code, remove unneeded checks, etc.
Chad Versace [Tue, 7 Dec 2010 18:35:36 +0000 (10:35 -0800)]
glsl: In ast_to_hir, check sampler array indexing
Raise error if a sampler array is indexed with a non-constant expression.
From section 4.1.7 of the GLSL 1.30 spec:
"Samplers aggregated into arrays within a shader (using square
brackets [ ]) can only be indexed with integral constant
expressions [...]."
Eric Anholt [Wed, 8 Dec 2010 18:59:58 +0000 (10:59 -0800)]
i965: Drop KIL_NV from the ff/ARB_fp path since it was only used for GLSL.
Eric Anholt [Wed, 8 Dec 2010 18:57:22 +0000 (10:57 -0800)]
i965: Use the new pixel mask location for gen6 ARB_fp KIL instructions.
Fixes:
fp-kil
fp-generic/kil-swizzle.
Eric Anholt [Wed, 8 Dec 2010 18:17:24 +0000 (10:17 -0800)]
i965: Set the render target index in gen6 fixed-function/ARB_fp path.
Fixes:
fbo-drawbuffers2-blend
fbo-drawbuffers2-colormask
Eric Anholt [Wed, 8 Dec 2010 18:12:20 +0000 (10:12 -0800)]
i965: Set up the per-render-target blend state on gen6.
This will let us get EXT_draw_buffers2 blending and colormasking working.
Eric Anholt [Wed, 8 Dec 2010 17:52:56 +0000 (09:52 -0800)]
i965: Set up the color masking for the first drawbuffer on gen6.
Fixes glean/maskedClear
Chia-I Wu [Wed, 8 Dec 2010 14:33:07 +0000 (22:33 +0800)]
mesa: Do not advertise GL_OES_texture_3D.
GL_OES_texture_3D has a GLSL counterpart. Since it is not implemented,
GL_OES_texture_3D should not be advertised.
Chia-I Wu [Tue, 7 Dec 2010 13:33:53 +0000 (21:33 +0800)]
vbo: Fix GLES2 glVertexAttrib.
Attribute 0 has no special meaning in GLES2. Add VertexAttrib4f_nopos
for that purpose and make _es_VertexAttrib* call the new function.
Rename _vbo_* to _es_* to avoid confusion. These functions are only
used by GLES, and now some of them (_es_VertexAttrib*) even behave
differently than vbo_VertexAttrib*.
Chia-I Wu [Tue, 7 Dec 2010 13:22:28 +0000 (21:22 +0800)]
vbo: Drop second ATTR macro.
There is no need to have a special version of ATTR for
!FEATURE_beginend, since
81ccb3e2ce708619f4c23537a237d61bdffdd35f.
Brian Paul [Wed, 8 Dec 2010 13:44:42 +0000 (06:44 -0700)]
configure: use llvm-config --cppflags instead of --cflags
Brian Paul [Wed, 8 Dec 2010 04:37:20 +0000 (21:37 -0700)]
mesa: make _mesa_test_proxy_teximage() easier to read
Brian Paul [Wed, 8 Dec 2010 04:37:20 +0000 (21:37 -0700)]
mesa: consolidate glCompressedTexImage1/2/3D() functions
Brian Paul [Wed, 8 Dec 2010 04:37:20 +0000 (21:37 -0700)]
mesa: consolidate glCopyTexSubImage1/2/3D() functions
Brian Paul [Wed, 8 Dec 2010 04:37:19 +0000 (21:37 -0700)]
mesa: consolidate glCopyTexImage1/2D() code
Brian Paul [Wed, 8 Dec 2010 04:37:19 +0000 (21:37 -0700)]
mesa: consolidate the glTexSubImage1/2/3D() functions
Brian Paul [Wed, 8 Dec 2010 04:37:19 +0000 (21:37 -0700)]
mesa: simplify proxy texture code in texture_error_check()
Marek Olšák [Wed, 8 Dec 2010 03:27:58 +0000 (04:27 +0100)]
r300/compiler: remove at least unused immediates if externals cannot be removed
Marek Olšák [Tue, 7 Dec 2010 20:57:18 +0000 (21:57 +0100)]
r300/compiler: make lowering passes possibly use up to two less temps
CMP may now use two less temps, other non-native instructions may end up
using one less temp, except for SIN/COS/SCS, which I am leaving unchanged
for now.
This may reduce register pressure inside loops, because the register
allocator doesn't do a very good job there.
Marek Olšák [Wed, 8 Dec 2010 00:59:33 +0000 (01:59 +0100)]
r300/compiler: handle DPH and XPD in rc_compute_sources_for_writemask
This bug can only be triggered if you put deadcode before native rewrite.
Marek Olšák [Wed, 8 Dec 2010 00:58:00 +0000 (01:58 +0100)]
r300/compiler: do not print pair/tex/presub program stats for vertex shaders
Marek Olšák [Tue, 7 Dec 2010 23:18:05 +0000 (00:18 +0100)]
r300/compiler: cleanup rc_run_compiler
Marek Olšák [Tue, 7 Dec 2010 22:34:21 +0000 (23:34 +0100)]
r300/compiler: add a function to query program stats (alu, tex, temps..)
Marek Olšák [Tue, 7 Dec 2010 20:45:34 +0000 (21:45 +0100)]
r300/compiler: don't terminate regalloc if we surpass max temps limit
The same check is already in a later pass (translate_vertex_program).
Eric Anholt [Wed, 8 Dec 2010 03:29:26 +0000 (19:29 -0800)]
i965: Don't try to store gen6 (float) blend constant color in bytes.
Fixes glean/blendFunc
Ian Romanick [Wed, 8 Dec 2010 03:00:44 +0000 (19:00 -0800)]
linker: Fix regressions caused by previous commit
That's what I get for not running piglit before pushing.
Don't try to patch types of unsized arrays when linking fails.
Don't try to patch types of unsized arrays that are shared between
shader stages.
Ian Romanick [Wed, 8 Dec 2010 02:30:33 +0000 (18:30 -0800)]
linker: Ensure that unsized arrays have a size after linking
Fixes piglit test case glsl-vec-array (bugzilla #31908).
NOTE: This bug does not affect 7.9, but I think this patch is a
candiate for the 7.9 branch anyway.
Eric Anholt [Wed, 8 Dec 2010 01:07:05 +0000 (17:07 -0800)]
i965: Fix flipped value of the not-embedded-in-if on gen6.
Fixes:
glean/glsl1-! (not) operator (1, fail)
glean/glsl1-! (not) operator (1, pass)
Ian Romanick [Wed, 8 Dec 2010 00:27:22 +0000 (16:27 -0800)]
glsl: Inherrit type of declared variable from initializer
Types of declared variables and their initializer must match excatly
except for unsized arrays. Previously the type inherritance for
unsized arrays happened implicitly in the emitted assignment.
However, this assignment is never emitted for uniforms. Now that type
is explicitly copied unconditionally.
Fixes piglit test array-compare-04.vert (bugzilla #32035) and
glsl-array-uniform-length (bugzilla #31985).
NOTE: This is a candidate for the 7.9 branch.
Eric Anholt [Tue, 7 Dec 2010 22:50:50 +0000 (14:50 -0800)]
i965: Work around gen6 ignoring source modifiers on math instructions.
With the change of extended math from having the arguments moved into
mrfs and handed off through message passing to being directly hooked
up to the EU, it looks like the piece for doing source modifiers
(negate and abs) was left out.
Fixes:
fog-modes
glean/fp1-ARB_fog_exp test
glean/fp1-ARB_fog_exp2 test
glean/fp1-Computed fog exp test
glean/fp1-Computed fog exp2 test
ext_fog_coord-modes
Eric Anholt [Tue, 7 Dec 2010 22:46:27 +0000 (14:46 -0800)]
i965: Add disabled debug code for dumping out the WM constant payload.
This can significantly ease thinking about the asm.
Ian Romanick [Tue, 7 Dec 2010 22:50:34 +0000 (14:50 -0800)]
i965: Correctly emit constants for aggregate types (array, matrix, struct)
Previously the code only handled scalars and vectors. This new code
is modeled somewhat after similar code in ir_to_mesa.
Reviewed-by: Eric Anholt <eric@anholt.net>
Jerome Glisse [Tue, 7 Dec 2010 20:15:58 +0000 (15:15 -0500)]
r600g: fix userspace fence against lastest kernel
R6XX GPU doesn't like to have two partial flush writting
back to memory in row without a prior flush of the pipeline.
Add PS_PARTIAL_FLUSH to flush all work between the CP and
the ES, GS, VS, PS shaders.
Thanks a lot to Alban Browaeys (prahal on irc) for investigating
this issue.
Signed-off-by: Alban Browaeys <prahal@yahoo.com>
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Tue, 7 Dec 2010 21:11:51 +0000 (16:11 -0500)]
r600g: remove dead code
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Eric Anholt [Tue, 7 Dec 2010 20:34:30 +0000 (12:34 -0800)]
i965: Always hand the absolute value to RSQ.
gen6 builtin RSQ apparently clamps negative values to 0 instead of
returning the RSQ of the absolute value like ARB_fragment_program
desires and pre-gen6 apparently does.
Fixes:
glean/fp1-RSQ test 2 (reciprocal square root of negative value)
glean/vp1-RSQ test 2 (reciprocal square root of negative value)
Ian Romanick [Thu, 2 Dec 2010 20:17:36 +0000 (12:17 -0800)]
glsl: Ensure that equality comparisons don't return a NULL IR tree
This fixes bugzilla #32035 and piglit test case array-compare-01 and
array-compare-02.
NOTE: This is a candidate for the 7.9 branch.
Eric Anholt [Tue, 7 Dec 2010 19:32:50 +0000 (11:32 -0800)]
i965: Handle saturates on gen6 math instructions.
We get saturate as an argument to brw_math() instead of as compile
state, since that's how the pre-gen6 send instructions work. Fixes
fp-ex2-sat.
Eric Anholt [Tue, 7 Dec 2010 19:33:34 +0000 (11:33 -0800)]
i965: Fix comment about gen6_wm_constants.
This is the push constant buffer, not the pull constants.
Kenneth Graunke [Tue, 7 Dec 2010 18:48:10 +0000 (10:48 -0800)]
Refresh autogenerated glcpp parser.
Kenneth Graunke [Tue, 7 Dec 2010 18:47:50 +0000 (10:47 -0800)]
glcpp: Don't emit SPACE tokens in conditional_tokens production.
Fixes glslparsertest defined-01.vert.
Reported-by: José Fonseca <jfonseca@vmware.com>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Carl Worth <cworth@cworth.org>
Marek Olšák [Tue, 7 Dec 2010 18:24:19 +0000 (19:24 +0100)]
r300g: also revalidate the SWTCL vertex buffer after its reallocation
Zhenyu Wang [Tue, 7 Dec 2010 09:02:02 +0000 (17:02 +0800)]
i965: upload WM state for _NEW_POLYGON on sandybridge
Be sure polygon stipple mode is updated. This fixes 'gamma' demo.
Vinson Lee [Tue, 7 Dec 2010 08:56:07 +0000 (00:56 -0800)]
r200: Silence uninitialized variable warning.
Fixes this GCC warning.
r200_maos_arrays.c: In function 'r200EmitArrays':
r200_maos_arrays.c:113: warning: 'emitsize' may be used uninitialized in this function
Xiang, Haihao [Tue, 7 Dec 2010 08:30:00 +0000 (16:30 +0800)]
i965: set minimum/maximum Point Width on Sandybridge
It is used for point width on vertex. This fixes mesa demo spriteblast and pointblast.
Vinson Lee [Tue, 7 Dec 2010 08:37:48 +0000 (00:37 -0800)]
mesa: Clean up header file inclusion in viewport.h.
Vinson Lee [Tue, 7 Dec 2010 08:33:36 +0000 (00:33 -0800)]
mesa: Clean up header file inclusion in varray.h.
Vinson Lee [Tue, 7 Dec 2010 08:28:57 +0000 (00:28 -0800)]
mesa: Clean up header file inclusion in transformfeedback.h.
Vinson Lee [Tue, 7 Dec 2010 08:19:06 +0000 (00:19 -0800)]
mesa: Clean up header file inclusion in texrender.h.
Marek Olšák [Tue, 7 Dec 2010 06:54:31 +0000 (07:54 +0100)]
r300g: validate buffers only if any of bound buffers is changed
This prevents needless buffer validation (CS space checking).
Marek Olšák [Tue, 7 Dec 2010 05:24:06 +0000 (06:24 +0100)]
r300g: cache packet dwords of 3D_LOAD_VBPNTR in a command buffer if possible
It's not always possible to preprocess the content of 3D_LOAD_VBPNTR
in a command buffer, because the offset to all vertex buffers (which
the packet depends on) is derived from the "start" parameter of draw_arrays
and the "indexBias" parameter of draw_elements, but we can at least lazily
make a command buffer for the case when offset == 0, which should occur
most of the time.
Marek Olšák [Tue, 7 Dec 2010 05:22:38 +0000 (06:22 +0100)]
u_blitter: use util_is_format_compatible in the assert
Brian Paul [Tue, 7 Dec 2010 00:08:16 +0000 (17:08 -0700)]
mesa: consolidate glTexImage1/2/3D() code
Something similar could be done for glCopyTex[Sub]Image() and the
compressed texture image functions as well.
Brian Paul [Mon, 6 Dec 2010 22:18:57 +0000 (15:18 -0700)]
mesa: set gl_texture_object::_Complete=FALSE in incomplete()
Brian Paul [Mon, 6 Dec 2010 22:11:41 +0000 (15:11 -0700)]
mesa: test for cube map completeness in glGenerateMipmap()
The texture is not cube complete if the base level images aren't of
the same size and format.
NOTE: This is a candidate for the 7.9 branch.
Kenneth Graunke [Mon, 6 Dec 2010 18:54:21 +0000 (10:54 -0800)]
glsl: Properly add functions during lazy built-in prototype importing.
The original lazy built-in importing patch did not add the newly created
function to the symbol table, nor actually emit it into the IR stream.
Adding it to the symbol table is non-trivial since importing occurs when
generating some ir_call in a nested scope. A new add_global_function
method, backed by new symbol_table code in the previous patch, handles
this.
Fixes bug #32030.
Kenneth Graunke [Mon, 6 Dec 2010 18:42:27 +0000 (10:42 -0800)]
symbol_table: Add support for adding a symbol at top-level/global scope.
Kenneth Graunke [Mon, 6 Dec 2010 18:54:05 +0000 (10:54 -0800)]
glsl: Factor out code which emits a new function into the IR stream.
A future commit will use the newly created function in a second place.
Jakob Bornecrantz [Mon, 6 Dec 2010 19:59:49 +0000 (20:59 +0100)]
st/mesa: Unbind all constant buffers
Jerome Glisse [Mon, 6 Dec 2010 14:49:16 +0000 (09:49 -0500)]
r600g: remove useless flush map
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Mon, 6 Dec 2010 00:24:03 +0000 (19:24 -0500)]
r600g: avoid useless shader rebuild at draw call
Avoid rebuilding constant shader state at each draw call,
factor out spi update that might change at each draw call.
Best would be to update spi only when revealent states
change (likely only flat shading & sprite point).
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Sat, 4 Dec 2010 01:47:02 +0000 (20:47 -0500)]
r600g: build fetch shader from vertex elements
Vertex elements change are less frequent than draw call, those to
avoid rebuilding fetch shader to often build the fetch shader along
vertex elements. This also allow to move vertex buffer setup out
of draw path and make update to it less frequent.
Shader update can still be improved to only update SPI regs (based
on some rasterizer state like flat shading or point sprite ...).
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
José Fonseca [Mon, 6 Dec 2010 20:01:30 +0000 (20:01 +0000)]
mesa: Bump the number of bits in the register index.
More than 1023 temporaries were being used for a Cinebench shader before
doing temporary optimization, causing the index value to wrap around to
-1024.
Brian Paul [Mon, 6 Dec 2010 18:01:19 +0000 (11:01 -0700)]
st/mesa: fix mipmap generation bug
In st_finalize_texture() we were looking at the st_texture_object::
lastLevel field instead of the pipe_resource::last_level field to
determine which resource to store the mipmap in.
Then, in st_generate_mipmap() we need to call st_finalize_texture() to
make sure the destination resource is properly allocated.
These changes fix the broken piglit fbo-generatemipmap-formats test.
Brian Paul [Mon, 6 Dec 2010 17:10:58 +0000 (10:10 -0700)]
mesa/llvm: use llvm-config --cppflags
Use --cppflags instead of --cflags so that we get the -I and -D flags
we want, but not compiler options like -O3.
A similar change should probably be made for autoconf.
Brian Paul [Sat, 4 Dec 2010 01:13:45 +0000 (18:13 -0700)]
gallium/util: minor formatting fixes
Brian Paul [Mon, 6 Dec 2010 16:44:23 +0000 (09:44 -0700)]
mesa: add error margin to clip mask debug/check code
When X or Y or Z is close to W the outcome of the floating point clip
test comparision may be different between the C and x86 asm paths.
That's OK; don't report an error.
See fd.o bug 32093
Eric Anholt [Thu, 11 Nov 2010 16:51:26 +0000 (08:51 -0800)]
i965: Remove INTEL_DEBUG=glsl_force now that there's no brw_wm_glsl.c
Eric Anholt [Thu, 11 Nov 2010 17:09:38 +0000 (09:09 -0800)]
i965: Nuke brw_wm_glsl.c.
It was only used for gen6 fragment programs (not GLSL shaders) at this
point, and it was clearly unsuited to the task -- missing opcodes,
corrupted texturing, and assertion failures hit various applications
of all sorts. It was easier to patch up the non-glsl for remaining
gen6 changes than to make brw_wm_glsl.c complete.
Bug #30530
Eric Anholt [Fri, 3 Dec 2010 19:49:29 +0000 (11:49 -0800)]
i965: Add support for the instruction compression bits on gen6.
Since the 8-wide first-quarter and 16-wide first-half have the same
bit encoding, we now need to track "do you want instruction
compression" in the compile state.
Eric Anholt [Sat, 4 Dec 2010 00:50:19 +0000 (16:50 -0800)]
i965: Align gen6 push constant size to dispatch width.
The FS backend is fine with register level granularity. But for the
brw_wm_emit.c backend, it expects pairs of regs to be used for the
constants, because the whole world is pairs of regs. If an odd number
got used, we went looking for interpolation in the wrong place.
Eric Anholt [Fri, 3 Dec 2010 23:33:13 +0000 (15:33 -0800)]
i965: Make the sampler's implied move on gen6 be a raw move.
We were accidentally doing a float-to-uint conversion.
Eric Anholt [Fri, 3 Dec 2010 22:30:38 +0000 (14:30 -0800)]
i965: Fix up gen6 samplers for their usage by brw_wm_emit.c
We were trying to do the implied move even when we'd already manually
moved the real header in place.
Eric Anholt [Fri, 3 Dec 2010 20:38:08 +0000 (12:38 -0800)]
i965: Fix gen6 interpolation setup for 16-wide.
In the SF and brw_fs.cpp fixes to set up interpolation sanely on gen6,
the setup for 16-wide interpolation was left behind. This brings
relative sanity to that path too.
Eric Anholt [Sat, 13 Nov 2010 06:18:09 +0000 (22:18 -0800)]
i965: Don't smash a group of coordinates doing gen6 16-wide sampler headers.
Eric Anholt [Fri, 3 Dec 2010 20:20:02 +0000 (12:20 -0800)]
i965: Fix up 16-wide gen6 FB writes after various refactoring.