Patrice Mandin
c052213fb3
nouveau/nvfx: Add new PIPE_CAP values
...
Signed-off-by: Patrice Mandin <patmandin@gmail.com>
2010-07-21 19:28:45 +02:00
Brian Paul
3662afd87d
gallivm: replace has_indirect_addressing field with indirect_files field
...
Instead of one big boolean indicating indirect addressing, use a
bitfield indicating which register files are accessed with indirect
addressing.
Most shaders that use indirect addressing only use it to access the
constant buffer. So no need to use an array for temporary registers
in this case.
2010-07-21 10:16:32 -06:00
Brian Paul
85206e56a1
tgsi: added tgsi_shader_info::indirect_files field
...
Indicates which register files are accessed with indirect addressing.
2010-07-21 10:16:32 -06:00
Brian Paul
0115f07507
gallivm: refactor code into get_indirect_offsets() function
2010-07-21 10:16:32 -06:00
Brian Paul
890976e02d
gallivm: added comment
2010-07-21 10:16:32 -06:00
Brian Paul
be22e1e781
gallivm: remove extraneous braces
2010-07-21 10:16:32 -06:00
Brian Paul
f674ed6b06
gallivm: no longer do indirect addressing in get_temp_ptr()
2010-07-21 10:16:32 -06:00
Brian Paul
105ed7dfd4
gallivm: implement correct indirect addressing of temp registers
...
As with indexing the const buffer, the ADDR reg may have totally
different values for each element. Need to use a gather operation.
2010-07-21 10:16:32 -06:00
Brian Paul
695814a15b
gallivm: re-org, comments for get_temp_ptr()
2010-07-21 10:16:31 -06:00
Brian Paul
6921a6dd4e
draw: whitespace clean-up
2010-07-21 10:16:31 -06:00
Keith Whitwell
d350695a6b
gallium: remove pointless bitfield restrction in pipe_vertex_element
...
This used to be a somewhat packed struct, but no longer. Remove the
last remaining bitfield tag.
2010-07-21 16:30:38 +01:00
Brian Paul
ec0e7b16bb
gallivm: rename a var to avoid compiler warnings
2010-07-21 08:08:12 -06:00
Brian Paul
4363d4d0b9
gallivm: fix indirect addressing of constant buffer
...
The previous code assumed that all elements of the address register
were the same. But it can vary from pixel to pixel or vertex to
vertex so we must use a gather operation when dynamically indexing
the constant buffer.
Still need to fix this for the temporary register file...
2010-07-20 18:50:35 -06:00
Brian Paul
b0636f78aa
gallivm: added lp_build_const_int32() helper
2010-07-20 18:50:35 -06:00
Vinson Lee
c4889fa5f0
radeon: Remove unnecessary header.
2010-07-20 14:18:42 -07:00
Jerome Glisse
62f8b56dc6
r600g: split trans unit computation
...
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-07-20 15:07:32 -04:00
Marek Olšák
5ed6627ceb
st/mesa: implement and advertise GL_ARB_draw_elements_base_vertex
...
Signed-off-by: Brian Paul <brianp@vmware.com>
2010-07-20 11:53:43 -06:00
Brian Paul
691c1fb074
draw: correctly handle max_index=0xffffffff case in vcache code
...
If max_index=0xffffffff and elt_bias > 0 the test for
elt_bias + max_index >= DRAW_PIPE_MAX_VERTICES
was wrong. Check earlier if max_index=0xffffffff and do the
"fail" case.
This fixes the piglit draw-elements-base-vertex test (and probably
some other things).
2010-07-20 11:53:43 -06:00
Marek Olšák
e794fac35a
st/mesa: implement depth texture modes
2010-07-20 18:09:12 +02:00
Brian Paul
bab484a59b
mesa: call ctx->Driver.ChooseTextureFormat() only when necessary.
...
When defining mipmap level 'L' and level L-1 exists and the new level's
internalFormat matches level L-1's internalFormat, then use the same hw
format. Otherwise, do the regular ctx->Driver.ChooseTextureFormat() call.
This avoids a problem where we end up choosing different hw formats for
different mipmap levels depending on how the levels are defined (glTexImage
vs. glCopyTexImage vs. glGenerateMipmap, etc).
The root problem is the ChooseTextureFormat() implementation in some
drivers uses the user's glTexImage format/type parameters in the choosing
heuristic. Later mipmap levels might be generated with different calls
(ex: glCopyTexImage()) so we don't always have format/type info and the
driver may choose a different format.
For more background info see the July 2010 mesa-dev thread "Bug in
_mesa_meta_GenerateMipmap"
2010-07-20 08:50:32 -06:00
Brian Paul
895086467e
graw/tests: pass -e option to test draw_elements_instanced()
2010-07-20 08:50:32 -06:00
Michal Krol
3b2ca688a7
softpipe: Support non-depth-stencil formats in sp_tile_cache_flush_clear().
2010-07-20 15:01:25 +02:00
Kristian Høgsberg
c1cbdbfde0
glx: #ifdef DRI specific prototype
...
https://bugs.freedesktop.org/show_bug.cgi?id=29162
2010-07-20 07:43:50 -04:00
Michel Dänzer
bd3d2724f5
glx/dri2: Fix dri2CopySubBuffer() again.
...
Only refresh the fake front buffer if there is one, and only destroy the region
once.
Fixes X11 protocol errors reported by 'mcgreg' on IRC.
2010-07-20 12:21:17 +02:00
Marek Olšák
bdde9d2fce
util: mempool: initialize last block's magic number in a page
2010-07-20 10:23:54 +02:00
Chia-I Wu
87290a383b
st/egl: Fixes for recent GLX cleanup.
...
Mainly, the type of __GLXdisplayPrivateRec::screenConfigs has changed
from "__GLXscreenConfigs *" to "__GLXscreenConfigs **".
2010-07-20 12:39:23 +08:00
Chia-I Wu
c7ad2a4e79
st/dri: Remove driFrameTrackingExtension.
...
The extension has been removed in
22266c391f .
2010-07-20 12:37:13 +08:00
Kristian Høgsberg
a7292f2920
glx: Move DRI CopySubBuffer extension to DRI1 code
...
We do this in the X server for DRI2.
2010-07-19 22:45:51 -04:00
Kristian Høgsberg
bab13969d8
glx: Move driver_configs to DRI screen privates
2010-07-19 22:45:51 -04:00
Kristian Høgsberg
e3e8196c02
glx: Move drawHash to display private
...
The XIDs are display wide so the natural location of the hash is here.
This way we don't have to lookup in each of the screen hashes.
2010-07-19 22:45:51 -04:00
Kristian Høgsberg
037755122e
glx: Don't use __glXInitialize() when we might be holding __glXLock()
2010-07-19 22:45:51 -04:00
Kristian Høgsberg
8d0228912b
glx: Workaround mismatch in signedness between extensions and protocol
...
The DRI2 protocol for ust, msc and sbc are unsigned but the extensions
talk about int64_t. Do a little dance to make the compiler shut up.
2010-07-19 22:45:50 -04:00
Kristian Høgsberg
271c3c3a90
glx: Move __DRIdrawable pointers to DRI drawable privates
2010-07-19 22:45:50 -04:00
Kristian Høgsberg
22266c391f
glx: Remove support for MESA_swap_frame_usage
...
The extension never worked, the implementation returns GLX_BAD_CONTEXT
when enabling the frame tracking.
2010-07-19 22:45:50 -04:00
Kristian Høgsberg
70887d5172
glx: Move __driScreen into the dri screen privates
2010-07-19 22:45:50 -04:00
Kristian Høgsberg
089fc37c6f
glx: Move DRI1 specific extensions and code to DRI1 screen private
2010-07-19 22:45:50 -04:00
Kristian Høgsberg
9e546ecfd4
glx: Move DRI2 extensions to DRI2 screen private
2010-07-19 22:45:50 -04:00
Kristian Høgsberg
cb2a66fd0c
glx: Drop support for GLX_MESA_allocate_memory
...
Only r200 implemented it.
2010-07-19 22:45:50 -04:00
Kristian Høgsberg
f972115d33
glx: Add screen privates for dri drivers and moved some fields there
...
GLXscreenConfigs is badly named and a dumping ground for a lot of stuff.
This patch creates private screen structs for the dri drivers and moves
some of their fields over there.
2010-07-19 22:45:50 -04:00
Kristian Høgsberg
a296d96de4
glx: Rename various DRI structs away from obnoxious __GLXfooRec convention
...
Enough is enough.
2010-07-19 22:45:50 -04:00
Kristian Høgsberg
308e13ecd1
glx: Factor out common code from dri2WaitGL() and dri2WaitX()
2010-07-19 22:45:50 -04:00
Kristian Høgsberg
b006d465ea
glx: Dont use dri2WaitX() to update fake front
...
This saves a superfluous flush and a create/destryo region.
2010-07-19 22:45:50 -04:00
Eric Anholt
f9d11b8cee
i965: Mostly fix glsl-max-varyings.
...
There was confusion on both the size of message we can send, and on
what the URB destination offset means.
The remaining problems appear to be due to spilling of regs in the
fragment shader being broken.
2010-07-19 19:29:48 -07:00
Eric Anholt
e179fa9a0a
i965: Clean up message register setup in emit_vertex_write().
2010-07-19 19:29:03 -07:00
Eric Anholt
09788ce10e
i965: Reduce repeated calculation of the attribute-offset-in-VUE.
...
This cleans up some chipset dependency sprinkled around, and fixes a
potential overflow of the attribute offset array for many vertex
results.
2010-07-19 19:29:03 -07:00
Eric Anholt
e29cff6273
i965: Clarify the nr_regs calculation in brw_clip.c
2010-07-19 19:29:03 -07:00
Eric Anholt
bdcaaed6ff
i965: Don't set up VUE space for the disabled user clip distances on gen6.
2010-07-19 19:29:03 -07:00
Brian Paul
37692e5dc9
draw: fix incorrect instancing divisor in LLVM code
2010-07-19 18:29:12 -06:00
Brian Paul
374c74f4c4
mesa: remove restart.c from build
2010-07-19 15:29:03 -06:00
Marek Olšák
3b189d888a
r300g: fix possible crash in destroy_context
...
The problem is destroy_context is almost NEVER called.
The only test for destroy_context I know is compiz.
Reported by Vinson Lee.
FDO bug #29150 .
2010-07-19 21:12:52 +02:00