Commit graph

45370 commits

Author SHA1 Message Date
Brian Paul
88349255ce softpipe: minor clean-ups in sp_quad_depth_test.c 2011-07-06 15:14:27 -06:00
Stéphane Marchesin
053af6ac8c i915g: Fix optimization, also make it more generic. 2011-07-06 12:00:47 -07:00
Eric Anholt
07e5295b6f mesa: Don't error on glFeedbackBuffer(size = 0, buffer = NULL)
The existing error result doesn't appear in the GL 2.1 or 3.2
compatibility specs, and triggers an unexpected GL error in Intel's
oglconform when it tries to reset the feedback state after usage so
that the "diff the state at error time vs. context init time" code
doesn't generate spurious diffs.  The unexpected GL error then
translates into testcase failure.  Brian wants the safety check on
buffer = NULL, though, so that people can't as easily set up a broken
buffer.
2011-07-06 11:17:20 -07:00
Eric Anholt
c9aac11713 mesa: Don't skip glGetProgramLocalParam4dvARB if there was already an error.
Like the previous commit, but fixes
ARB_vertex_program/getlocal4d-with-error.

v2: Move the success case line into the conditional, use ASSIGN_4V more.
2011-07-06 11:17:19 -07:00
Eric Anholt
e9d563e3ff mesa: Don't skip glGetProgramEnvParam4dvARB if there was already an error.
Fixes a bug caught by oglconform, and now piglit
ARB_vertex_program/getenv4d-with-error.  The wrapping of an existing
GL function made it so that we couldn't distinguish an error in
looking up our arguments from an existing error.  Instead, make a
helper function to choose the param, and use it from multiple callers.

v2: Move the success case line into the conditional, use COPY_4V more.
2011-07-06 11:17:19 -07:00
Eric Anholt
b043409adf glsl: Suppress warning from matching_signature change.
gcc isn't smart enough to see that we only look at matched_score after
we've initialized it (because match != NULL happens at the same time)
2011-07-06 11:17:19 -07:00
Eric Anholt
abbbd14dd4 glsl: Fix make clean for dricore. 2011-07-06 11:17:19 -07:00
Kenneth Graunke
eafc74d7d4 i965/fs: Fix message register allocation in FB writes.
Commit 6750226e6d bumped the base MRF to
m2 instead of m0, but failed to adjust inst->mlen, which was being set
to the highest MRF.  Subtracting the base MRF solves the issue.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
2011-07-06 11:12:17 -07:00
Völgyes Dávid
f747d03b1d Fixes for leaks reported by cppcheck. 2011-07-06 10:11:04 -04:00
Stéphane Marchesin
e53b41f263 i915g: Improve flushing using heuristics. 2011-07-06 02:49:58 -07:00
Stéphane Marchesin
2bc5e0e97b i915g: introduce the tiny shader optimizer. 2011-07-06 02:49:48 -07:00
Stéphane Marchesin
cc78eb63cd i915g: Add comment about DDX/DDY. 2011-07-06 02:17:30 -07:00
Stéphane Marchesin
26e7436ad3 i915g: Move back to the old method for target format fixup. 2011-07-06 02:17:30 -07:00
Vadim Girlin
6bde225b8b r600g: fix buffer overflow check in r600_query_begin 2011-07-05 15:57:11 -04:00
Vadim Girlin
971e1b743e r600g: fix bo map usage flags in r600_query_begin 2011-07-05 15:57:08 -04:00
Vadim Girlin
fbe9d4261f r600g: reduce flushes for queries 2011-07-05 15:57:06 -04:00
Vadim Girlin
9bf4c30d73 r600g: fix buffer offset in r600_query_begin 2011-07-05 15:57:01 -04:00
Henri Verbeet
3fccc14b2f r600g: Get rid of the state_inlines headers.
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-07-05 01:58:47 +02:00
Henri Verbeet
88cf65a600 r600g: Get rid of an unused include in r600_texture.c.
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-07-05 01:58:46 +02:00
Henri Verbeet
4015b5877c r600g: Get rid of some unused functions.
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-07-05 01:58:46 +02:00
Henri Verbeet
18cdb9c8ab r600g: Use the actual Evergreen functions to query format support on Evergreen.
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-07-05 01:58:46 +02:00
Henri Verbeet
865f927218 r600g: Get rid of the unused "family" parameter to r600_is_vertex_format_supported().
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-07-05 01:58:46 +02:00
Christian König
c3b2230b71 Merge remote-tracking branch 'origin/master' into pipe-video
Conflicts:
	configure.ac
	src/gallium/drivers/r600/r600_state_inlines.h
	src/gallium/tests/trivial/Makefile
	src/gallium/winsys/g3dvl/dri/XF86dri.c
	src/gallium/winsys/g3dvl/dri/driclient.c
	src/gallium/winsys/g3dvl/dri/driclient.h
	src/gallium/winsys/g3dvl/dri/xf86dri.h
	src/gallium/winsys/g3dvl/dri/xf86dristr.h
	src/gallium/winsys/r600/drm/r600_bo.c
2011-07-04 15:04:41 +02:00
José Fonseca
f67de2ed46 draw: Fix fetch_max calculation.
It should be

 max_index = start + count - 1

instead of

 max_index = count - 1
2011-07-04 12:31:30 +01:00
Thomas Hellstrom
424b1210d9 Merge branch 'xa_branch'
Conflicts:
	configure.ac

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-07-04 10:21:35 +02:00
Thomas Hellstrom
a221807dc5 st/glx: Fix endless loop in drawable validation
This fixes a regression introduced with commit

"st-api: Rework how drawables are invalidated v3"

where the glx state tracker manager would invalidate a drawable each time it
checks the drawable dimensions, even during a validate call, which
resulted in an endless loop, since the state tracker would immediately
detect the new invalidation and rerun the validate...

This change marks the drawable invalid only if the drawable dimensions actually
changed during the validate, which will result in at most a single
unnecessary validate by the context running a validate during which the
dimensions changed.

To avoid unnecessary validates altogether, we need to implement yet another
st-api change: Returning the current time stamp from the validate function,
as suggested by Chia-I Wu. The glx state tracker manager could then return
the stamp resulting from the last drawable dimension check.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-07-04 09:56:45 +02:00
Thomas Hellstrom
f81ac1840a st/xa: Fix crosscompile builds with nonstandard ld locations
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-07-04 09:55:51 +02:00
Thomas Hellstrom
a2a5ba5145 xa-vmwgfx: Remove unnecessary include
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-07-04 09:55:40 +02:00
Henri Verbeet
39fecd3229 r600g: Support the PIPE_FORMAT_R16_FLOAT colorformat.
NOTE: This is a candidate for the 7.11 branch.
2011-07-03 23:03:07 +02:00
Benjamin Franzke
7ed1826e2e configure: Require libudev for drm & wayland egl platforms
NOTE: This is a candidate for the 7.11 branch.
2011-07-02 14:01:07 +02:00
Benjamin Franzke
9b8cd49930 configure: Fix typo in gbm check for egl drm platform
NOTE: This is a candidate for the 7.11 branch.
2011-07-02 14:00:55 +02:00
Benjamin Franzke
b18b2994ef configure: Enable st/gbm if st/egl has drm platform
NOTE: This is a candidate for the 7.11 branch.
2011-07-02 13:56:27 +02:00
Benjamin Franzke
b2d6375e6a egl_dri2: Fix compilation if udev devel files are not installed
NOTE: This is a candidate for the 7.11 branch.
2011-07-02 13:56:27 +02:00
Chia-I Wu
f2001df508 egl: add copyright notices
The list of copyright holders could be incomplete.  Please update
directly or notify me if your name is missing.
2011-07-02 18:21:31 +09:00
Chia-I Wu
8123934d5a autoconf: swrast does not require libdrm
This fixes

  $ ./configure --disable-driglx-direct \
                --with-dri-drivers=swrast \
                --with-gallium-drivers=
2011-07-02 10:15:23 +09:00
José Fonseca
b115662607 scons: Disable saving options automatically.
It makes things too random, as settings for temporary trials get stored
permannently, and it make difficult to build several platforms from the
same tree.

So disable it, again.
2011-07-01 19:04:57 +01:00
José Fonseca
1c59ea9592 svga: Use the correct element size.
Instead of always using the first element's size.

This fixes flashing floor on CINEBENCH R10.
2011-07-01 18:32:42 +01:00
José Fonseca
dda8d7ac3f u_upload_mgr: Use pipe_buffer_map_range istead of pipe_buffer_map.
pipe_buffer_map_range makes stricter assertions, and would have saved us
grief detecting a bug in svga user buffer uploads.
2011-07-01 18:32:40 +01:00
Micael Dias
7d39ff44a2 Gallium: fix buffer overflow
Signed-off-by: José Fonseca <jfonseca@vmware.com>
2011-07-01 18:12:37 +01:00
Kristian Høgsberg
ad90f4cab4 driclient: Remove
Not used or maintained.  We talked about removing it a few releases ago,
there were no objections but it just never happened.  Now it's gone.
2011-07-01 09:36:46 -04:00
José Fonseca
4482eba9b2 scons: Actually add src/glx/SConscript. 2011-07-01 13:51:39 +01:00
Thomas Hellstrom
542194251c svga: Fix multiple uploads of the same user-buffer.
If a user-buffer was referenced twice by a draw command, the affected ranges
were uploaded separately, with only the last one being referenced by the
hardware. Make sure we upload only a single range.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-07-01 13:30:41 +02:00
Thomas Hellstrom
a8cf4b6acf svga: Ignore redefine_user_buffer calls
We currently always treat contents of user-buffers as volatile so
we don't need to take any particular action when the state tracker
announces that the contents has changed.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-07-01 13:30:40 +02:00
Brian Paul
762518d26a svga: fix incorrect user buffer size computation for instance divisor case
See preceeding commit for more info.
2011-07-01 13:30:40 +02:00
Brian Paul
fa4bd30212 svga: fix incorrect user buffer size computation
Viewperf uses some unusual vertex arrays where the stride is less
than the element size.  In this case, the stride was 4 while the
element size was 12.  The difference of 8 bytes causes us to miss
uploading the tail bit of the array data.

Typically the stride is >= the element size so there was no problem
with other apps.
2011-07-01 13:30:39 +02:00
José Fonseca
bd00fb2c06 svga: Handle null buffers in svga_buffer_is_user_buffer(). 2011-07-01 13:30:38 +02:00
Thomas Hellstrom
2b301df4aa gallium/svga: Upload only parts of user-buffers that we actually use
Stream user buffer contents rather than trying to maintain persistent
host / hardware copies.
Resulting negative array offsets are not allowed by the hardware,
(well, at least not according to header files), so adjust index bias
to make all array offsets positive.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-07-01 13:30:38 +02:00
Thomas Hellstrom
0277df86df gallium/svga: Make use of u_upload_flush().
This enables us to pack more data into single upload buffers.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-07-01 13:30:37 +02:00
Thomas Hellstrom
cf4cd8592a gallium/util: Upload manager optimizations
Make sure that the upload manager doesn't upload data that's not
dirty. This speeds up the viewperf test proe-04/1 a factor 5 or so on svga.

Also introduce an u_upload_unmap() function that can be used
instead of u_upload_flush() so that we can pack
even more data in upload buffers. With this we can basically reuse the
upload buffer across flushes.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-07-01 13:30:36 +02:00
José Fonseca
6d58029bf0 svga: Flush when switching between HW to SW TNL, after updating need_swtnl.
Also, only flush when going from HW TNL to SW TNL, given it is impossible
for the buffers resulting from SWTNL to be ever referred by HW TNL path.
2011-07-01 13:30:36 +02:00