Dave Airlie
fdb4373a20
st/mesa: fix compressed mipmap generation.
...
If the underlying transfer had a stride wider for hw alignment reasons,
the mipmap generation would generate badly strided images.
this fixes a few problems I found while testing r600g with s3tc
Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-02-15 14:44:08 +10:00
Marek Olšák
dc578188fa
st/mesa: fix GLES build
...
Broken since d5062fb3a3 .
I wonder why this code is hidden behind #if by default.
2011-02-15 04:56:09 +01:00
Marek Olšák
333d3daf47
r300g: actually implement the is_buffer_busy hook the right way
...
Ooops.
2011-02-15 04:00:47 +01:00
Marek Olšák
45e1cd522b
r300g: handle interaction between UNSYNCHRONIZED and DONTBLOCK flags in bo_map
...
The VBO module uses both, but they are somewhat opposite to each other.
In this case, we pick UNSYNCHRONIZED and ignore DONTBLOCK.
2011-02-15 04:00:47 +01:00
Marek Olšák
8decb0a96d
r300g: fix a possible race condition when mapping a buffer
...
This is the last one I think.
2011-02-15 04:00:47 +01:00
Marek Olšák
18b4978ac8
r300g: implement fences using dummy relocations
...
So finally we have them.
2011-02-15 04:00:46 +01:00
Marek Olšák
4faf11ad6c
r300g: fix SIGFPE on debug builds
2011-02-15 01:19:54 +01:00
Marek Olšák
56029ce52b
r300g: inline some of the pipe_buffer_map/unmap calls
2011-02-15 01:19:54 +01:00
Marek Olšák
20112cca26
r300g: do not track whether occlusion queries have been flushed
...
The winsys takes care of flushing automatically.
2011-02-14 23:36:12 +01:00
Marek Olšák
89ee0d527c
r300g: flush CS in bo_map even if we get USAGE_DONTBLOCK
...
Because an app may do something like this:
while (!(ptr = bo_map(..., DONT_BLOCK))) {
/* Do some other work. */
}
And it would be looping endlessly if we didn't flush.
2011-02-14 23:34:45 +01:00
Vinson Lee
ec21eabe2a
st/python: remove pipe_vertex_buffer::max_index
...
This is a follow-up to commit cdca3c58aa .
2011-02-14 14:10:05 -08:00
Vinson Lee
7582448016
graw: remove pipe_vertex_buffer::max_index
...
This is a follow-up to commit cdca3c58aa .
2011-02-14 13:53:09 -08:00
Fabian Bieler
a476ca1fd1
st/mesa: Use blend equation and function of first render target for all render targets if ARB_draw_buffers_blend is not supported
...
If EXT_draw_buffers2 is supported but ARB_draw_buffers_blend isn't
_mesa_BlendFuncSeparateEXT only sets up the blend equation and function for the
first render target. This patch makes sure that update_blend doesn't try to use
the data from other rendertargets in such cases.
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-02-14 14:37:18 -07:00
Marek Olšák
a87730ff3f
r300g: implement pb_manager::is_buffer_busy
2011-02-14 22:02:40 +01:00
Marek Olšák
49579a4df8
pb_bufmgr_cache: add is_buffer_busy hook and use it instead of non-blocking map
...
This is cleaner and implementing the hook is optional.
2011-02-14 21:51:01 +01:00
Marek Olšák
588fa884d2
gallium: notify drivers about possible changes in user buffer contents
...
Also implement the redefine_user_buffer hook in the drivers.
2011-02-14 21:50:08 +01:00
Marek Olšák
2a904fd6a0
st/mesa: set vertex arrays state only when necessary
...
The vertex arrays state should be set only when (_NEW_ARRAY | _NEW_PROGRAM)
is dirty. This assumes user buffer content is mutable, which will be
sorted out in the next commit. The following usage case should be much faster
now:
for (i = 0; i < 1000; i++) {
glDrawElements(...);
}
Or even:
for (i = 0; i < 1000; i++) {
glSomeStateChangeOtherThanArraysOrProgram(...);
glDrawElements(...);
}
The performance increase from this may be significant in some apps and
negligible in others. It is especially noticable in the Torcs game (r300g):
Before: 15.4 fps
After: 20 fps
Also less looping over attribs in st_draw_vbo yields slight speed-up
in apps with lots of glDraw* calls.
2011-02-14 21:50:08 +01:00
Marek Olšák
cdca3c58aa
gallium: remove pipe_vertex_buffer::max_index
...
This is redundant to pipe_draw_info::max_index and doesn't really fit
in the optimizations I plan.
2011-02-14 21:50:08 +01:00
Marek Olšák
d5062fb3a3
gallium: always save and restore vertex buffers using cso_cache
2011-02-14 21:50:07 +01:00
Marek Olšák
cfaf217135
vbo: bind arrays only when necessary
...
We don't need to call bind_arrays in the vbo module if the states
which the function depends on are not dirty.
2011-02-14 21:50:07 +01:00
Marek Olšák
5a01361cea
vbo: notify a driver that we change buffer offsets, strides, etc.
2011-02-14 21:50:07 +01:00
Vinson Lee
d123959ff7
r300g: Remove redundant initialization.
...
Remove redundant initialization from commit
3b01b52bd7 noticed by tstellar.
2011-02-14 10:47:58 -08:00
Alex Deucher
9e96ea0652
r600g: add alignment cases for linear aligned
...
Matches the drm and ddx.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-02-14 13:07:29 -05:00
José Fonseca
07eb660fc9
draw: Don't define the last two mipmap levels in aa lines.
...
Some hardware needs to make a seperate copy of all levels to obey
max_lod, so simply do not define the last two levels instead of
clamping.
2011-02-14 10:56:48 +00:00
José Fonseca
9305e93114
svga: Set the appropriate flags when creating sampler/surface views.
2011-02-14 10:53:54 +00:00
Marek Olšák
a0c293ec11
r300g: put indices in CS if there's just a few of them and are in user memory
2011-02-14 11:43:14 +01:00
Marek Olšák
437583ea63
r300g: cleanup the draw functions
2011-02-14 11:43:14 +01:00
Marek Olšák
476cec37d6
r300g: do not create a user buffer struct for misaligned ushort indices fallback
2011-02-14 11:43:14 +01:00
Marek Olšák
d173f1ba8a
r300g: fix fallback for misaligned ushort indices with num vertices >= 65535
2011-02-14 11:43:14 +01:00
Marek Olšák
3d5ac32f3b
r300g: consolidate emission of common draw regs
2011-02-14 11:43:14 +01:00
Sedat Dilek
0f912534fd
docs: Fix typo in GL3.txt
2011-02-14 00:45:44 -08:00
Vinson Lee
3b01b52bd7
r300g: Move declaration before code.
...
Fixes SCons build.
2011-02-14 00:07:07 -08:00
Marek Olšák
e9d993e9b9
r600g: do not destroy the original index buffer when translating indices
...
Because we only translate a subrange of the buffer.
2011-02-14 07:45:14 +01:00
Marek Olšák
5a6ba08c21
r300g: emit 3D_LOAD_VBPNTR only when necessary
...
I thought I couldn't skip emitting this packet in some cases.
Well it looks like I can.
2011-02-14 07:45:14 +01:00
Marek Olšák
004dd01583
r300g: fix reference counting when translating indices
2011-02-14 07:45:14 +01:00
Marek Olšák
9a90eeee67
u_index_modify: map buffers with PIPE_TRANSFER_UNSYNCHRONIZED
2011-02-14 07:45:14 +01:00
Marek Olšák
5197b09bee
r300g: remove the relocation after AARESOLVE_PITCH
2011-02-14 07:45:14 +01:00
Dave Airlie
1f5b674168
egl_dri2: add nouveau support.
...
but really wtf? all these PCI IDs need to be ripped out of here, its totally
unscalable and the drivers already have this info so could export it some better way.
tested by Darxus on #wayland.
2011-02-14 07:54:28 +10:00
Marcin Slusarz
8fe5da89e3
nv50: fix query assertion
2011-02-13 22:05:28 +01:00
Marek Olšák
e6e4860555
r300g: correctly determine if a texture is blittable in texture_get_transfer
2011-02-13 08:49:15 +01:00
Marek Olšák
8ab1fcc66a
r300g: fixup the handle_compare function
...
Accidentally negated in 685c3262b9 .
2011-02-13 00:31:04 +01:00
Marek Olšák
1fd6bbc881
r300g: when printing shader linker errors to stderr, report it's not a bug
2011-02-12 23:38:00 +01:00
Marek Olšák
9ad9a6861a
r300g: add debug options nozmask and nohiz which disable some hyper-z features
2011-02-12 23:37:14 +01:00
Marek Olšák
685c3262b9
r300g: typecast void* to unsigned correctly
2011-02-12 23:36:48 +01:00
Eric Anholt
04521c158f
dri: Remove the old metaops code which has been superceded by ../common/
2011-02-12 12:26:04 -08:00
Eric Anholt
211725eccd
radeon: Remove setup of the old dri/ meta code, which is now unused.
2011-02-12 12:23:43 -08:00
Eric Anholt
47589c17b0
intel: Remove setup of the old dri/ meta code, which is now unused.
2011-02-12 12:23:20 -08:00
Dave Airlie
a6b7393eb8
update GL3.txt for GL_EXT_framebuffer_sRGB status
2011-02-12 18:08:04 +10:00
Tom Stellard
9106b98766
r300/compiler: Don't erase sources when converting RGB->Alpha
...
https://bugs.freedesktop.org/show_bug.cgi?id=34030
NOTE: This is a candidate for the 7.10 branch.
2011-02-11 19:42:35 -08:00
Christopher James Halse Rogers
d1e28b2267
mesa: Optionally build a dricore support library (v3)
...
This an adds --enable-shared-dricore option to configure. When enabled,
DRI modules will link against a shared copy of the common mesa routines
rather than statically linking these.
This saves about 30MB on disc with a full complement of classic DRI
drivers.
v2: Only enable with a gcc-compatible compiler that handles rpath
Handle DRI_CFLAGS without filter-out magic
Build shared libraries with the full mklib voodoo
Fix typos
v3: Resolve conflicts with talloc removal patches
Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
2011-02-11 18:31:05 -08:00