Commit graph

22853 commits

Author SHA1 Message Date
Eric Anholt
fc19536aa9 intel: Push flushing for cliprects changes down into the cliprects changes.
This lets us short-circuit when we're leaving the same cliprects in place,
which becomes quite common with metaops clears, and may be useful for some of
our FBO paths.
2008-10-07 18:52:12 -07:00
Xiang, Haihao
94d3a30df7 i965: Fix a potential assertion failure. 2008-10-08 09:30:12 +08:00
Brian Paul
7cb723a3fd mesa: pass 'mask', not NULL to renderbuffer->Put functions
Fixes bug 17800.
2008-10-07 16:52:47 -06:00
Brian Paul
b99c39ea7b mesa: use the shaderutil.c helper functions 2008-10-07 16:24:43 -06:00
Brian Paul
800c350d71 cell: add support for fragment shader constant buffers 2008-10-07 16:16:27 -06:00
Brian Paul
ce416566bc cell: fix incorrect extended swizzle term code in get_src_reg() 2008-10-07 16:16:27 -06:00
Brian Paul
3008657cea cell: fix formatting 2008-10-07 16:16:27 -06:00
Brian Paul
e561058641 cell: remove old code 2008-10-07 16:16:27 -06:00
Stephane Marchesin
a0809c5271 Gallivm: reorder the functions alphabetically so I can work on it. 2008-10-07 23:43:21 +02:00
Stephane Marchesin
8463ddb740 Merge branch 'gallium-0.2' of git+ssh://marcheu@git.freedesktop.org/git/mesa/mesa into gallium-0.2 2008-10-07 23:42:48 +02:00
Stephane Marchesin
6f29c2ff2d Progs: hook the glsl identity example into the makefile. 2008-10-07 23:42:36 +02:00
Brian Paul
be3c070b6a cell: memset() key to zero 2008-10-07 14:50:06 -06:00
Brian Paul
44799c3b7e cell: use new keymap to save/re-use fragment ops code 2008-10-07 14:34:29 -06:00
Brian Paul
f192ad5ebc gallium: added general-purpose key->data map/lookup container 2008-10-07 14:34:29 -06:00
Patrice Mandin
af59f767a0 nouveau: first draft of swizzle texture upload to vram 2008-10-07 21:47:45 +02:00
Stephane Marchesin
4f1dafaa82 Mesa: fix the case where there are no vertex attributes.
This is a backport of 8e8208d6db to gallium-0.1
2008-10-07 21:28:38 +02:00
Stephane Marchesin
4ccbee2439 Progs: add a trivial glsl test, useful for gallium driver bringup/debug. 2008-10-07 21:21:20 +02:00
Stephane Marchesin
85e578bbc7 Gallivm: don't say hello, it's rude. 2008-10-07 21:13:49 +02:00
Stephane Marchesin
ba86520cf7 Merge branch 'gallium-0.2' of git+ssh://marcheu@git.freedesktop.org/git/mesa/mesa into gallium-0.2 2008-10-07 21:11:14 +02:00
Stephane Marchesin
94ba48bd85 Gallivm: fix the constant layout, this gets a bunch of progs/ working. Notably, gears doesn't. 2008-10-07 21:11:01 +02:00
Keith Whitwell
1ec78df1e7 trivial: add more vp tests 2008-10-07 19:14:18 +01:00
Brian Paul
239617fbe2 mesa: replace GLuint with GLbitfield to be clearer about usage
Also, fix up some comments to be doxygen style.
2008-10-07 11:22:47 -06:00
Keith Whitwell
23cc303994 draw: don't assume output buffer pointer is aligned 2008-10-07 16:44:24 +01:00
Keith Whitwell
4070dba28a mesa: update state after binding vertex list in dlist path 2008-10-07 16:33:53 +01:00
Keith Whitwell
a381c9e8b3 trivial: exercise vertprog sligtly 2008-10-07 16:33:52 +01:00
Keith Whitwell
6ff1cf5b82 mesa: protect against segfault in get_fp_input_mask() 2008-10-07 16:33:52 +01:00
Keith Whitwell
c48da7d78b draw: add switch for drivers to force vertex data passthrough 2008-10-07 16:33:52 +01:00
Brian Paul
23e62c94ee mesa: remove old assertion 2008-10-07 08:30:56 -06:00
José Fonseca
4d7394f892 gallium: Introduce PIPE_ARCH_SSE define for SSE support.
Besides meaning x86 and x86-64 architecture, it also depends on SSE2
support enabled on gcc.

This fixes the linux-debug build.
2008-10-07 14:25:09 +09:00
Brian
f7ee3c9792 gallium: replace assertion with conditional/recovery code
The assertion failed when we ran out of exec memory.
Found with conform texcombine test.
2008-10-06 18:31:56 -06:00
Brian
d055b2c001 mesa: fix convolve/convolution mix-ups 2008-10-06 17:10:45 -06:00
Brian
4f4147eadd mesa: fix convolve/convolution mix-ups 2008-10-06 17:10:22 -06:00
Brian Paul
f8baad2d25 mesa: set FRAG_BIT_FOGC bit in InputsUsed if FogOption!=GL_NONE 2008-10-06 12:29:29 -06:00
Stephane Marchesin
8e8208d6db Mesa: fix the case where there are no vertex attributes. 2008-10-06 19:48:57 +02:00
Brian Paul
6e34fc0d37 mesa: adjust texcoords for swrast sprite points.
Fixes glean pointSprite test w/ software rendering
2008-10-06 11:34:01 -06:00
Brian Paul
145d49838f mesa: fix static library construction
If the .a is made of other .a files, extract the objects from the later.
2008-10-06 11:01:31 -06:00
Brian Paul
b0ca50bd38 mesa: updated _mesa_delete_query() comments 2008-10-06 09:32:33 -06:00
Brian Paul
f362788eae mesa: add missing GLcontext param to _mesa_delete_query().
Fixes vtk crash and others.
2008-10-06 09:27:31 -06:00
Brian Paul
382911bdbc mesa: add missing GLcontext param to _mesa_delete_query().
Fixes vtk crash and others.
2008-10-06 09:26:45 -06:00
Michal Krol
9b82701813 draw: Fix compiler errors on Windows. 2008-10-06 13:23:56 +02:00
Keith Whitwell
7053f8c902 rtasm: fix debug build 2008-10-06 11:54:22 +01:00
Keith Whitwell
53d4706c6c make draw's vertex_info struct smaller/quicker to compare with memcmp() 2008-10-06 11:49:42 +01:00
Eric Anholt
91d0020eec i915: Refine the texture indirect lookup accounting.
Without this, we would reject programs which sampled multiple times from
registers defined in the same phase (block of instructions with the same
texture indirection count), as each sample would count as a new phase
beginning.  Instead, keep track of which phases registers were written in,
and only bump phase when we're reading from one generated in this phase.

On the other hand, we failed to count oC or oD texture samples as being new
phases.

Bug #17865.
2008-10-04 18:40:32 -07:00
Younes Manton
d008fb1786 g3dvl: Ignore client flush requests unless entire frame is buffered. 2008-10-04 13:12:09 -04:00
Younes Manton
111b8f6dd9 g3dvl: Bad semantic index in shader decl. 2008-10-04 13:12:09 -04:00
Keith Whitwell
0370d6b359 mesa: handle vertex program enabled case also in texenvprogram.c 2008-10-04 12:41:56 +01:00
Robert Ellison
afaa53040b CELL: changes to generate SPU code for stenciling
This set of code changes are for stencil code generation
support.  Both one-sided and two-sided stenciling are supported.
In addition to the raw code generation changes, these changes had
to be made elsewhere in the system:

- Added new "register set" feature to the SPE assembly generation.
  A "register set" is a way to allocate multiple registers and free
  them all at the same time, delegating register allocation management
  to the spe_function unit.  It's quite useful in complex register
  allocation schemes (like stenciling).

- Added and improved SPE macro calculations.
  These are operations between registers and unsigned integer
  immediates.  In many cases, the calculation can be performed
  with a single instruction; the macros will generate the
  single instruction if possible, or generate a register load
  and register-to-register operation if not.  These macro
  functions are: spe_load_uint() (which has new ways to
  load a value in a single instruction), spe_and_uint(),
  spe_xor_uint(), spe_compare_equal_uint(), and spe_compare_greater_uint().

- Added facing to fragment generation.  While rendering, the rasterizer
  needs to be able to determine front- and back-facing fragments, in order
  to correctly apply two-sided stencil.  That requires these changes:
  - Added front_winding field to the cell_command_render block, so that
    the state tracker could communicate to the rasterizer what it
    considered to be the front-facing direction.
  - Added fragment facing as an input to the fragment function.
  - Calculated facing is passed during emit_quad().
2008-10-03 18:05:14 -06:00
Ian Romanick
db9ba91971 intel: Don't advertise unsupported extensions on pre-965 hardware
Move GL_ARB_texture_non_power_of_two and GL_ATI_separate_stencil
from the generic extension list to the 965-specific list.  Neither
extension is supported on i830-class hardware, and
GL_ATI_separate_stencil is not supported on i915-class hardare.
GL_ARB_texture_non_power_of_two is supported on i915-class hardare and
is already in the i915-specific list.
2008-10-03 12:16:04 -07:00
Keith Whitwell
1680ef8696 mesa: avoid generating constant vertex attributes in fixedfunc programs
Keep track of enabled/active vertex attributes.
Keep track of potential vertex program outputs.

When generating fragment program, replace references to fragment attributes
which are effectively non-varying and non-computed passthrough attributes with
references to the new CURRENT_ATTRIB tracked state value.

Only downside is slight ugliness in VBO code where we need to validate state
twice in succession.
2008-10-03 17:30:59 +01:00
Keith Whitwell
d63a36ef3a Mesa: short-circuit case when looking up the same program twice in cache 2008-10-03 16:50:26 +01:00