Commit graph

12666 commits

Author SHA1 Message Date
Brian Paul
3491cbea88 added pointer to beta/release candidates 2008-06-21 10:19:45 -06:00
Alex Deucher
dc25661099 R300: 1002:5657 is actually RV410
See bug 14289
2008-06-21 10:52:49 -04:00
Roland Scheidegger
b3f1aac95e r200: fix typo in r200TryDrawPixels parameter validation (bug 16406) 2008-06-21 02:54:14 +02:00
Brian Paul
21177c8764 mesa: tweak mipmap level selection for cube maps
This is just a hack.  After we convert the 3D texcoord into a face plus 2D
texcoord we need to recompute the partial derivatives and mipmap LOD.
But we don't have the info to do that.  Adjusting the original mipmap
level by -1 seems to give somewhat better results than before though.
2008-06-19 14:37:50 -06:00
Eric Anholt
cf29ab3ba0 i915: Bug #14313: Fix accelerated (PBO) ReadPixels.
Refactoring of mine in 02d5ba8491 broke it
by failing to understand that the masking was about sign extension.
2008-06-18 13:50:49 -07:00
Xiang, Haihao
3e8aadee8b i965: add support for Intel 4 series chipsets 2008-06-18 15:33:33 +08:00
Brian Paul
3064069540 mesa: fix inconsistent use of GL_UNSIGNED_INT vs. GL_UNSIGNED_INT_24_8_EXT for Z unpacking 2008-06-17 16:44:04 -06:00
Wilfried Holzke
5b5bf21874 assorted glide driver fixes 2008-06-17 10:08:22 -06:00
Brian Paul
51ad6e3425 glu: silence warnings 2008-06-17 10:08:22 -06:00
Dave Airlie
a1523c61ea mesa: make mm.c use unsigned ints for offsets.
If you have a GPU using this code and it has the offsets up in this space,
this fails.
2008-06-17 16:29:45 +10:00
Corbin Simpson
27b7f896d4 r300: Make LOD bias a persistent environment variable.
Per airlied's suggestion.
2008-06-16 11:40:34 -07:00
H. Verbeet
e9d1889891 Compute/setup fog coordinates even if vertex program is enabled.
Only when fog's enabled, of course.
In the usual case, this is just a pass-through operation.
2008-06-16 10:40:32 -06:00
Brian Paul
ec2d0decbd mesa: allocate pixel zoom arrays on heap, not stack
Fixes stack overflow on Windows.
2008-06-16 10:03:05 -06:00
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