H. Verbeet
bbce58802d
Don't compute vertex fog when fragment program is active.
2008-06-16 09:41:08 -06:00
Corbin Simpson
588abd6696
r300: Fix new incarnation of bug 3195.
...
tests/bug_3195 doesn't render right, but at least it doesn't segfault this way.
2008-06-16 01:21:42 -07:00
Corbin Simpson
1738a9a535
r300: Forgot to clear old state before writing new state.
...
Oooops. Hehe.
2008-06-16 01:02:16 -07:00
Corbin Simpson
776580a6af
r300: Enable LOD bias state emission.
...
Properly set t->filter_1 for r300_state to emit.
Expect buggies as people see LOD bias enabled for the first time...
2008-06-15 23:54:32 -07:00
Corbin Simpson
f7b8a13d65
Oops, misordered a few instructions.
...
Not like it matters, though, since it's not taking effect yet.
2008-06-15 17:30:07 -07:00
Corbin Simpson
6e6ca40f29
r300: Unbreak LOD biasing, a bit.
...
Needs a bit more work on submission.
2008-06-15 17:14:07 -07:00
Dan Nicholson
4fc66be296
No more drivers/xorg
...
Don't try to clean in xorg since GLcore is gone.
2008-06-15 09:06:27 -07:00
Corbin Simpson
f1ae5d4b44
r5xx: Enable fragment.position, partial ARB_shadow.
...
I don't like PROGRAM_BUILTIN; could we either patch Mesa or just use a different constant?
2008-06-14 19:32:33 -07:00
Corbin Simpson
7413c55d93
r5xx: Detangle FP fallback and translation switches.
...
r5xx should fallback if it encounters a bad FP.
TODO: Re-enable the dumb shader so we don't have to completely fallback.
2008-06-14 17:59:10 -07:00
Nicolai Haehnle
43da118961
r300: Add radeonTransformALU and fix a bug in r300_fragprog DPH
...
This new generic transform replaces "special" instructions by more generic
variants. Hopefully, we will be able to share this code between r300 and r500.
2008-06-14 23:09:15 +02:00
Nicolai Haehnle
825fdfd0c1
r300_fragprog: Use less complex instructions
...
MOV, ADD and MUL do not fit the hardware as well as MAD, but they are less
complex and thus leave more room for future optimizations.
2008-06-14 20:26:10 +02:00
Corbin Simpson
b97e48ffe3
r5xx: More FP rewriting; fix texrect FP insts.
2008-06-14 08:56:03 -07:00
Corbin Simpson
69004fb758
r5xx: New FP code, take two.
...
Add the code emission source file, and comment out unneeded tex de-swizzling.
2008-06-14 07:21:40 -07:00
Corbin Simpson
0a341ef296
r5xx: FP refactor, take one.
...
Yes, I know it's massive. Imagine how I felt, auditing 3000 lines of code.
2008-06-14 07:03:08 -07:00
Corbin Simpson
9704414d13
r3xx/r5xx: Don't force aniso.
...
*Pulls paper bag down over head*
2008-06-14 04:37:09 -07:00
Nicolai Haehnle
a1c0c56d70
r300: Implement GL_ARB_shadow and GL_EXT_shadow_funcs
2008-06-14 04:15:42 +02:00
Nicolai Haehnle
83ad2a756e
texenvprogram: Mark textures using ARB_shadow as ShadowSamplers
...
Since ARB_fragment_program and friends are defined to ignore the setting of
the GL_TEXTURE_COMPARE_FUNC parameter, we have to explicitly enable the
shadow comparison by marking the texture unit in ShadowSamplers when
appropriate.
2008-06-14 04:15:31 +02:00
Nicolai Haehnle
2882e51625
r300: Add radeonCompilerDump for debugging
2008-06-14 04:15:20 +02:00
Nicolai Haehnle
e34dc8227c
r300_fragprog: Refactor TEX transformation
...
Streamlining source and destination registers, as well as texcoord scaling for
RECT textures is now done in a radeon_program based transformation.
The idea is that this will allow us to optimize away unnecessary indirections
more easily.
2008-06-14 04:14:56 +02:00
Nicolai Haehnle
b5170bc9d3
r300: Add radeon_program and trivial refactoring of r300_fragprog to use it
...
The idea/hope is that radeon_program will serve as an intermediate
representation for r3xx up to r6xx fragment and vertex programs.
Right now, it is nothing more than a simplistic wrapper around Mesa's
prog_instruction, together with the notion of clauses, taken from r6xx docs.
The clauses will eventually be used to represent the nodes that are used in
r300 family fragment programs.
2008-06-14 04:14:05 +02:00
Nicolai Haehnle
e2aa45c2f9
r300: Do not include r300_fragprog.h from r300_context.h and other cleanups
2008-06-14 04:11:21 +02:00
Nicolai Haehnle
caeabb1ebe
r300_fragprog: Remove dead declarations, move NOP declarations into source
2008-06-14 04:11:13 +02:00
Nicolai Haehnle
4ba1c7d848
r300_fragprog: Refactoring and cleanup
...
Refactor so that r300_pfs_compile_state "owns"/holds a pointer to
r300_fragment_program instead of the other way round. This is more natural from
an object orientation point of view.
Move the compiled hardware state into r300_fragment_program_code, in
anticipation of on-the-fly program recompilation based on external OpenGL
state.
2008-06-14 04:11:05 +02:00
Nicolai Haehnle
defadd9c03
r300_fragprog: Remove dead code
2008-06-14 04:10:52 +02:00
Nicolai Haehnle
b7669e4a86
r300/r500: Separate fragprog compiler structures
...
r500 code still used r300_pfs_compile_state, which contains some fields that
really only make sense on r3xx type hardware. In order to allow both fragprog
implementations to go forward without disturbing each other, I've pushed this
structure down into the respective r[3|5]00_fragprog.c
2008-06-13 20:51:20 +02:00
Nicolai Haehnle
4919cc3a2c
r300: Fix depth texture GL_LUMINANCE vs. GL_INTENSITY mixup
2008-06-13 19:36:03 +02:00
Nicolai Haehnle
b1056b6127
r300: Reenable t->filter_1 (though currently not used)
2008-06-13 19:36:02 +02:00
George Sapountzis
1087cc61b3
glx: load swrast_dri.so
...
caveats:
- does not work with old (i.e. libGLcore) xserver:
- made unbindContext a noop
- extensions:
GLX_SGI_make_current_read
GLX_EXT_texture_from_pixmap
GLX_MESA_copy_sub_buffer
2008-06-13 15:54:08 +03:00
George Sapountzis
7ffb1230b3
dri/swrast: make unbind a noop
...
This is for loading swrast_dri.so from libGL.
MakeContextCurrent() seems to unbind the context right after binding it and
DRI drivers also have a noop DriverAPI.UnbindContext ...
2008-06-13 15:52:32 +03:00
George Sapountzis
341987f688
dri/swrast: add OpenGL 2.1 functions
2008-06-13 15:48:34 +03:00
George Sapountzis
4297413656
glx: use ErrorMessageF
2008-06-13 15:48:06 +03:00
Zack Rusin
95b34baa8f
silly bug: it's PROGRAM_VARYING
2008-06-12 19:43:10 -04:00
Zack Rusin
928ec5cd3b
glsl: make sure we replace all output reads with temporaries
...
test in if.glsl
2008-06-12 19:39:20 -04:00
Zack Rusin
53f5b9741a
glsl: allow uniforms
2008-06-12 19:37:26 -04:00
Zack Rusin
effb73befa
glsl: fix array size initialiazers using const variables
...
e.g.
const int kernelSize = 9;
uniform vec2 kernel[kernelSize];
2008-06-12 15:15:34 -04:00
Zack Rusin
19659a50f9
almost forgot - RelAddr is a boolean so use it here
2008-06-12 15:08:58 -04:00
Zack Rusin
2542c59c55
shaders: fix allocation of arrays of parameters
2008-06-12 15:08:27 -04:00
Zack Rusin
74964ff04d
glsl: implement variable array indexes
2008-06-12 15:08:12 -04:00
Dan Nicholson
0440f5a187
Update .gitignore for progs/glsl
2008-06-12 06:37:45 -07:00
Dave Airlie
41bdb88f27
sparc: add swrast to dri drivers
2008-06-12 16:26:46 +10:00
Dave Airlie
2b0e75ea7a
sparc: add DRI drivers for sparc patch from Fedora
2008-06-12 12:06:50 +10:00
Brian Paul
3f3e4f645d
remove obsoleted doxygen \param comments
...
Someone changed the function parameters but didn't bother to update the
comments.
Also, whitespace changes, clean-ups.
2008-06-11 19:33:30 -06:00
Brian Paul
8d976aedc4
comments
2008-06-11 19:33:14 -06:00
Brian Paul
9563449c14
remove unnecessary swrast, tnl includes
2008-06-10 12:08:30 -06:00
Brian Paul
c233b4245f
add some missing rule dependencies
2008-06-10 10:10:12 -06:00
Roland Scheidegger
17ec0dbd75
copy msaa visuals capability
2008-06-10 15:45:20 +02:00
Dan Nicholson
fbb96a0301
Distribute version.mk in case autoconf needs to be run again
...
Users may need to rebuild the configure script, so we need to distribute
version.mk so autoconf can run successfully.
2008-06-10 06:06:40 -07:00
Xiang, Haihao
a742bed99a
i965: apply commit 6c1a98e97a to glsl
2008-06-10 16:31:36 +08:00
Brian Paul
72f87b6947
fix Xlib libGL.so build problem.
...
Also, build driverfuncs.c into libmesa.a since it's always needed.
2008-06-09 16:06:44 -06:00
Brian Paul
f6246f85d7
s/SOLO/MESA/
2008-06-09 14:09:09 -06:00