Commit graph

14624 commits

Author SHA1 Message Date
Brian Paul
58ea42b7db svga: implement generic variable index remapping
The state tracker may generate shaders that use generic vs outputs /
fs inputs like:

DCL IN[0], GENERIC[0]
DCL IN[1], GENERIC[10]
DCL IN[2], GENERIC[11]

This patch remaps 0, 10, 11 to small integers like 1, 2, 3 so that we
stay inside the SVGA3D limit (8).

The remapping is done to both the vertex shader outputs and the
fragment shader inputs.  The same mapping must be used for a vs/fs
pair.

Note that 'union svga_compile_key' is now 'struct svga_compile_key'
because we needed to add the register remapping table.  The change in
size isn't really significant though (it's not a search key).

Also, add assertions when building up SVGA3D src/dst registers to we
don't try to store too large of value for the bitfield size.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
2011-11-03 17:41:08 -06:00
Brian Paul
e814d57725 draw: assert that we have non-null fragment shader
Instead of just segfaulting.  Recently ran into this.
2011-11-03 16:56:11 -06:00
Marek Olšák
ca0f515f85 r300g: force buffer placements to GTT on big endian machines 2011-11-03 16:39:40 +01:00
Maarten Lankhorst
eadbcb221d state_trackers/vdpau: Add support for VC-1 decoding
Add a struct with all the fields.

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
2011-11-03 13:52:01 +01:00
Maarten Lankhorst
91d33b5c58 state_trackers/vdpau: Add mpeg4 part2 to PipeToProfile and ProfileToPipe
So it can actually be used when someone implements it. :)

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
2011-11-03 13:52:01 +01:00
Maarten Lankhorst
12bf452945 state_trackers/vdpau: Add support for MPEG4 Part 2
Just the support patch, no decoder implements it currently.

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
2011-11-03 13:52:01 +01:00
Maarten Lankhorst
1eb48c5500 state_trackers/vdpau: Test if profile is supported first before trying to create decoder
So a nicer error message is returned.

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
2011-11-03 13:52:01 +01:00
Maarten Lankhorst
c4d47f065a state_trackers/vdpau: Add num_slices to mpeg12 picture structure
Bitstream parsers might need that field.

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
2011-11-03 13:52:01 +01:00
Maarten Lankhorst
c9c6eec1c6 state_trackers/vdpau: Implement VdpGenerateCSCMatrix
With the smpte240 profile, which was missing.

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
2011-11-03 13:52:00 +01:00
Christian König
8a7e645c9b g3dvl: remove some stale variable increment
Incrementing "td" before initializing it is
pointless and just leads to an uninitialized
variable warning with MSVC.

Signed-off-by: Christian König <deathsimple@vodafone.de>
2011-11-03 13:52:00 +01:00
Dave Airlie
c6a3026472 r600g: more integer support
just some more trivial integer changes for r600/r700.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-11-03 10:11:32 +00:00
José Fonseca
3276c3d42b libgl-gdi: Mingw-w64 in 32bit mode matches the Mingw32's .DEF semantics. 2011-11-03 09:59:34 +00:00
Morgan Armand
c7fc4067eb wglSetPixelFormat should ignore the ppfd parameter.
Signed-off-by: José Fonseca <jfonseca@vmware.com>
2011-11-02 19:51:09 +00:00
Michel Dänzer
0be1f79770 r300g: Fix queries on big endian hosts.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2011-11-02 18:59:30 +01:00
Michel Dänzer
4a3be16fd2 gallium/util: Add macros for converting from little endian to CPU byte order.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2011-11-02 18:24:09 +01:00
José Fonseca
a0d8e5d12a gallium/dri: Remove references to vblank. 2011-11-02 16:16:50 +00:00
Kristian Høgsberg
d14a107158 Fix gallium dri compile and a merge conflict 2011-11-02 12:01:46 -04:00
Jakob Bornecrantz
292c21bfdc svga: Tag cursors with the scanout hint
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-11-02 16:22:57 +01:00
Kristian Høgsberg
2e53f3018f dri: Remove unused dri texmem.c 2011-11-02 11:16:03 -04:00
Kristian Høgsberg
a14bb89d3f dri: Drop unused dri renderbuffer helper functions 2011-11-02 11:16:03 -04:00
Kristian Høgsberg
e9beaf65fd dri: Remove unnecessary timestamp pointer indirection 2011-11-02 11:16:02 -04:00
Kristian Høgsberg
d24b81e0e0 dri: Remove cliprect information from __DRIdrawable 2011-11-02 11:16:00 -04:00
Kristian Høgsberg
73ec71cb16 dri: Remove driMediaStreamCounterExtension
Also DRI1-only.
2011-11-02 11:15:57 -04:00
Kristian Høgsberg
759cbb751b dri: Remove driSwapControlExtension
DRI1-only as well.
2011-11-02 11:15:57 -04:00
Kristian Høgsberg
8e898e83c6 dri: Drop driCopySubBufferExtension
Another DRI1-only extension.
2011-11-02 11:15:56 -04:00
Kristian Høgsberg
ad32215871 dri: Drop driReadDrawableExtension
All DRI2 drivers support setting a separate read drawable.
2011-11-02 11:15:56 -04:00
Kristian Høgsberg
3203912600 dri: Drop driLegacyExtension
There are no DRI1 drivers left.
2011-11-02 11:15:56 -04:00
George Sapountzis
0c425ac18c st/dri/sw: add get_image inline helper similar to put_image
TODO: check if GetImage works with passing the pitch as width, similar to PutImage,
which avoids the extra copy, ala dri_sw_displaytarget_display() in src/gallium/winsys/sw/dri/dri_sw_winsys.c
2011-11-02 17:07:59 +02:00
Benjamin Franzke
31156c07b0 st/dri/sw: Fix incorrect cast
Missed one casting error due to rebase for commit
98aa2a8f72.
2011-11-02 15:56:23 +01:00
Benjamin Franzke
98aa2a8f72 st/dri/sw: Implement texture_from_pixmap
This is a cleanup of commit 02f1b50987.

Update tex buffer using a dri_drawable hook from implemented in sw/drisw.c.
This saves us the duplication of dri_drawable.c.

CC: Stuart Abercrombie <sabercrombie@chromium.org>
CC: Stéphane Marchesin <marcheu@chromium.org>
2011-11-02 15:43:27 +01:00
Benjamin Franzke
0a2afcb754 Revert "Duplicate state_tracker/dri/sw/dri_drawable.c"
This reverts commit 569bde1fa7.

CC: Stuart Abercrombie <sabercrombie@chromium.org>
CC: Stéphane Marchesin <marcheu@chromium.org>
2011-11-02 15:43:26 +01:00
Benjamin Franzke
5da7c5e364 Revert "state_trackers/dri/sw: Implement texture_from_pixmap."
This reverts commit 02f1b50987.

CC: Stuart Abercrombie <sabercrombie@chromium.org>
CC: Stéphane Marchesin <marcheu@chromium.org>
2011-11-02 15:43:26 +01:00
Alex Deucher
0a2c4889cb r600g: add comment about special shader exports
Certain exports (position, point size, etc.) are treated
specially by the shader and not counted as generic exports.

Note the exports and any relevant related state bits.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2011-11-02 09:47:40 -04:00
Vadim Girlin
16c0a3a972 r600g: take into account PSIZE output for spi mapping
Skip PSIZE and POSITION when counting VS outputs.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=42435

Tested without regressions on evergreen.

NOTE: this is a candidate for the 7.11 branch.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2011-11-02 09:47:10 -04:00
José Fonseca
e8f646fa7e svga: Update state prototypes to return pipe_error.
Fixes a bunch of prototype mismatch warnings..
2011-11-02 11:18:35 +00:00
Brian Paul
f6fa34f7ad postprocess: remove const qualifiers on unsigned int parameters
to match the prototype in postprocess.h
2011-11-01 16:39:37 -06:00
Thomas Hellstrom
dc4ef91601 st/xa: Add a scanout flag for surfaces
Bump minor to signal availability.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2011-11-01 18:18:14 +01:00
José Fonseca
a1b737d72f llvmpipe: Re-advertise support for stencil formats...
"no fetch_rgba_float for uint formats" => "llvmpipe does not support uint formats"

"stencil == uint" => "llvmpipe does not support stencil"
2011-11-01 12:28:47 +00:00
José Fonseca
0cbb49aff5 llvmpipe: Use -1 instead of ~0 for "no slot".
As the value of unsigned ~0 depends on the bit-width.

Fixes fdo 42411.
2011-11-01 11:29:31 +00:00
José Fonseca
e33447aac6 svga: Fix potential buffer overflow in rs draw state.
Reviewed-by: Brian Paul <brianp@vmware.com>
2011-10-31 21:33:04 +00:00
José Fonseca
0f26c6ae3f llvmpipe: Remove unsed variables. 2011-10-31 19:40:54 +00:00
José Fonseca
7ff247712d util: Add missing initializer. 2011-10-31 19:40:54 +00:00
José Fonseca
1e9d8934a1 svga: Flush the hwtnl primitives before writing to buffers.
svga keeps a small queue of similar primitive draws in order to coalesce
them into a single draw primitive command.

But the buffers referred in primitives not yet emitted were being ignored
in the considerations to flush or not the context.

This fixes piglit vbo-map-remap, vbo-subdata-sync, vbo-subdata-zero, and
Seeker.

Based on investigation and patch from Brian Paul.

Reviewed-By: Brian Paul <brianp@vmware.com>
2011-10-31 15:22:09 +00:00
Thomas Hellstrom
c04b9d1d56 st/xa: Plug a pipe context leak.
Forgot to destroy the pipe context on xa context destroy.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
2011-10-31 14:35:23 +01:00
Thomas Hellstrom
037e7a68f5 pipebuffer/debug: Fix a recursive mutex lock
pb_debug_manager_dump was trying to take a lock already
held by all callers.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Jos Fonseca <jfonseca@vmware.com>
2011-10-31 13:25:39 +01:00
Chia-I Wu
e252af3406 llvmpipe: fix a crash in non-SSE path
It is a typo went unnoticed.
2011-10-30 20:05:05 +08:00
Marek Olšák
9eac0fce83 r600g: reset the render condition to NULL when rendering unconditionally 2011-10-30 02:25:51 +02:00
Marek Olšák
b40edc63d7 r600g: shortcut ctx->screen->ws to ctx->ws 2011-10-30 02:25:51 +02:00
Mathias Fröhlich
e8139ebf58 r600g: Replace needless flush in texture upload.
Replace pipe->flush() with pipe->texture_barrier() in
the texture upload path for the staging texture.
This should be enough to get data out of the gpu
caches ready to be read for texture fetch.
2011-10-29 18:36:42 +02:00
Marek Olšák
7684808f9c r600g: remove one pointless flush
It's not useful for anything.
The rest of the patch is just a cleanup resulting
from some of the variables being no longer used.

There are no piglit regressions.
2011-10-29 13:48:39 +02:00