Commit graph

115447 commits

Author SHA1 Message Date
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
Michal Krol
64d854ebf7 util: Use pf_get_size(). 2008-06-14 09:34:02 +02: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
Brian Paul
8b11fa4d44 mesa: move some glapi bits around
Move _glapi_proc typedef from glapitable.h to glapi.h
Also, don't include glapitable.h from glapi.h
Before we were including the huge glapitable.h file in every .c file.
2008-06-13 16:45:15 -06:00
Brian Paul
e9a6832737 mesa: remove some temp debug code 2008-06-13 14:13:25 -06:00
Brian Paul
2b4e2841a7 mesa: check FEATURE_ARB_occlusion_query 2008-06-13 13:58:09 -06:00
Brian Paul
be16f04e76 egl: added a debug msg 2008-06-13 13:58:08 -06: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
Jakob Bornecrantz
3da77b33bb i915: Improved the not used tile code 2008-06-13 20:46:14 +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
Jakob Bornecrantz
d89b1e4a03 trivial: Update clear-undefined 2008-06-13 19:18:56 +02:00
Jakob Bornecrantz
907b753ae6 mesa: Fix libglapi.a build for dri 2008-06-13 19:13:35 +02:00
Jakob Bornecrantz
d1397fd779 i915: Fix offsets not being used for surface targets 2008-06-13 19:07:29 +02:00
Jakob Bornecrantz
c341094921 i915: Fix most of the clear problems
trivial/clear-undefined still fails
2008-06-13 19:03:51 +02:00
Jakob Bornecrantz
39bd7eb6dc trival: Added test for undefined context of buffer 2008-06-13 17:45:55 +02:00
Brian Paul
2cc1b7c742 gallium: another attempt at fixing libglapi.a compilation for DRI builds
If building for DRI, make a dummy/empty libglapi.a for now.
2008-06-13 09:15:07 -06:00
Brian Paul
9350fd62b6 mesa: fix typo: s/stacks/stack/ 2008-06-13 09:10:09 -06:00
Michal Krol
62f03a9ecc gallium: Fix PIPE_FORMAT_A2B10G10R10_UNORM definition.
Whoops!
2008-06-13 15:21:11 +02:00
Michal Krol
b03a0373a2 gallium: Add PIPE_FORMAT_A2B10G10R10_UNORM. 2008-06-13 14:58:24 +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
Michal Krol
6f548c88e2 gallium: Allow pipe format component sizes to be specified
with finer granularity.

This will allow us to define A2R10G10B10 format.
2008-06-13 14:50:29 +02:00
Michal Krol
b850453497 mesa: Remove duplicate code. 2008-06-13 14:49:04 +02: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
Jakob Bornecrantz
de35bf5bdc i915: Messed up lineloop now works 2008-06-13 14:11:20 +02:00
Jakob Bornecrantz
e9b8df69b4 i915: Support all primtive types in vbuf path 2008-06-13 12:21:58 +02:00
Zack Rusin
95b34baa8f silly bug: it's PROGRAM_VARYING 2008-06-12 19:43:10 -04:00
Zack Rusin
314c460604 silly bug: it's PROGRAM_VARYING 2008-06-12 19:41:54 -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
3911ef0327 glsl: make sure we replace all output reads with temporaries
test in if.glsl
2008-06-12 19:04:28 -04:00
Brian Paul
e961a5da77 mesa: add some #if FEATURE_x tests 2008-06-12 16:58:04 -06:00
Brian Paul
5b51cc020e gallium: add some #if FEATURE_x tests 2008-06-12 16:58:04 -06:00
Brian Paul
6363960db5 mesa: remove unneeded #include 2008-06-12 16:58:04 -06:00
Brian Paul
73f78dedad gallium: add missing comma 2008-06-12 16:37:16 -06:00
Brian Paul
20ee00754d gallium: disable the codegen for TGSI_OPCODE_EXPBASE2 for now.
The x86 code seems to fail for exponents of 4 or larger.
See glean's vertProg1/EX2 test.
2008-06-12 16:01:43 -06:00
Keith Whitwell
08f1b8ac70 gallium: fix SSE codegen for instructions that use both a CONSTANT and IMMEDIATE
Fixes codegen for instructions like MUL dst, CONST[0], IMM[0];  the two operands
would up getting aliased in the x86/sse code.

Fixes glean/vertProg1/fogparams test.
2008-06-12 16:01:05 -06:00
Brian Paul
b19e8f720b gallium: test for FEATURE_convolution 2008-06-12 15:46:10 -06:00
Brian Paul
cfe8763714 gallium: remove unused/old st_atom_fixedfunction.c file 2008-06-12 15:08:49 -06:00