summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/compiler/radeon_pair_translate.c
AgeCommit message (Collapse)Author
2011-03-12r300/compiler: fix translating the src negate bits in pair_translateMarek Olšák
(1, -_, ...) was converted to (-1, ...) because of the negation in the second component. Masking out the unused bits fixes this. Piglit: - glsl-fs-texture2d-branching NOTE: This is a candidate for the 7.9 and 7.10 branches.
2011-01-29r300/compiler: Standardize the number of bits used by swizzle fieldsTom Stellard
Swizzles are now defined everywhere as a field with 12 bits that contains 4 channels worth of meaningful information. Any channel that is unused is set to RC_SWIZZLE_UNUSED. This change is necessary because rgb instructions and alpha instructions were initializing channels that would never be used (channel 3 for rgb and channels 1-3 for alpha) with 0 (aka RC_SWIZZLE_X). This made it impossible to use generic helper functions for swizzles, because sometimes a channel value of 0 meant unused and other times it meant RC_SWIZZLE_X. All hacks that tried to guess how many channels were relevant have also been removed.
2011-01-23r300/compiler: remove any code related to relative addressing of temporariesMarek Olšák
The hw can't do it and the code was useless anyway (it's lowered in the GLSL compiler).
2010-11-21r300/compiler: Ignore alpha dest register when replicating the resultTom Stellard
When the result of the alpha instruction is being replicated to the RGB destination register, we do not need to use alpha's destination register. This fixes an invalid "Too many hardware temporaries used" error in the case where a transcendent operation writes to a temporary register greater than max_temp_regs. NOTE: This is a candidate for the 7.9 branch.
2010-09-29r300/compiler: Move declaration before code.Vinson Lee
Fixes these GCC warnings on linux-x86 build. radeon_pair_translate.c: In function ‘set_pair_instruction’: radeon_pair_translate.c:153: warning: ISO C90 forbids mixed declarations and code radeon_pair_translate.c:170: warning: ISO C90 forbids mixed declarations and code radeon_pair_translate.c: In function ‘rc_pair_translate’: radeon_pair_translate.c:336: warning: ISO C90 forbids mixed declarations and code radeon_pair_translate.c:341: warning: ISO C90 forbids mixed declarations and code
2010-09-13r300/compiler: fix warningsMarek Olšák
2010-09-10r300/compiler: Replace asserts with error messagesTom Stellard
2010-09-10r300/compiler: Enable presubtract sourcesTom Stellard
The r300 compiler can now emit instructions that select from the presubtract source. A peephole optimization has been added to convert instructions like: ADD Temp[0].x, none.1, -Temp[1].x into the INV (1 - src0) presubtract operation.
2010-09-04r300/compiler: refactor fragment shader compilationMarek Olšák
This cleans up the mess in r3xx_compile_fragment_program.
2010-08-25r300/compiler: fail to compile if we hit hw limits or an unimplemented featureMarek Olšák
i.e. relative addressing (mainly FS), saturate modifiers, exceeding the maximum number of constants.
2010-04-10r300/compiler: Remove unused variable.Vinson Lee
2010-03-30r300/compiler: Unbreak DDX/DDY.Corbin Simpson
Fixes progs/glsl/deriv.
2010-02-03r300: fix compiler bugs introduced with MRT changes.Dave Airlie
the first looks like a definite bug, the second I'm not so confident of but it works. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-02-02r300compiler, r300 classic, r300g: Add support for MRTs in the frag shader.Corbin Simpson
This maybe breaks the vert compiler. Hopefully not.
2009-10-04r300/compiler: Emit flow control instructions and ALU result writes on R500Nicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-04r300/compiler: Refactor the radeon_pair code to support control flow ↵Nicolai Hähnle
instructions Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>