Commit graph

9621 commits

Author SHA1 Message Date
Marek Olšák
53beea574f r300g: use the stored GEM domain in add_buffer/write_reloc
I admit blitting to/from GTT is actually enforced in this commit,
texture transfers are now damned fast!
2010-06-02 07:09:51 +02:00
Marek Olšák
b6b76cbb20 r300g: store the GEM domain in buffer and texture structs 2010-06-02 07:01:08 +02:00
Marek Olšák
bb45a15168 r300g: use r300_buffer_domain everywhere 2010-06-02 06:26:15 +02:00
Marek Olšák
19498be935 r300g: blit directly to/from GTT when transfering textures 2010-06-02 06:07:53 +02:00
Marek Olšák
37f3454eb3 r300g: let the driver determine the GEM domain for buffer_create 2010-06-02 06:01:22 +02:00
Marek Olšák
ae3063066c r300g: make texture transfers more pipelined
Mostly based on Michel Dänzer's patch.
2010-06-02 04:59:00 +02:00
Marek Olšák
d614541d52 r300g: better describe another flush and move it closer to the real problem
I haven't been able to get rid of this one, see the comments in the code.
2010-06-02 04:59:00 +02:00
Marek Olšák
9f8dbd3396 r300g: remove one flush
Looks like it's not needed now.
2010-06-02 04:59:00 +02:00
José Fonseca
489f637741 llvmpipe: Obey color interpolation.
Don't force color to be linearly interpolated when that's not being
requested.
2010-06-01 21:30:57 +01:00
José Fonseca
6ce68ad3ca llvmpipe: Use struct lp_shader_input in the interpolator.
Eliminates all this identical yet slightly different code to decide how
shader inputs should be interpolated.

As bonus, don't interpolate the position twice when it is listed in the
TGSI shader inputs.
2010-06-01 21:30:57 +01:00
Thomas Hellstrom
d12f2bb9c0 st/xorg, vmware: Make throttling configurable.
The xorg state tracker gets two new options to let the user choose
whether to enable / disable dirty throttling and swapbuffer throttling.
The default value of these options are enabled, unless the winsys
supplies a customizer with other values. The customizer record has been
extended to allow this, and also to set winsys-based throttling on a per-
context basis.

The vmware part of this patch disables the dirty throttling if the kernel
supports command submission throttling, and also in that case sets kernel
based throttling for everything but swapbuffers. The vmware winsys does not
set throttling per context, even if it theoretically could, but instead
sets throttling per screen. This should perhaps be changed, should the
xorg state tracker start to use multiple rendering contexts. Kernel throttling
is off by default for all new screens/contexts, so the dri state tracker
is not affected.

This significantly improves interactivity of the vmware xorg driver.

Cherry-picked from commit a8f3b3f88a

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
2010-05-31 22:34:59 +01:00
Thomas Hellstrom
cd151effe6 svga: Add a winsys callback to get the svga_winsys_context
The winsys may need to extract the svga_winsys_context from a
pipe_context. Add a function to enable that functionality.

Cherry-picked from commit e8a8c5e339

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
2010-05-31 22:34:59 +01:00
José Fonseca
056ae405b6 tgsi: Drop uses_fogcoord and uses_frontfacing from tgsi_scan.
It was not used anywhere; the code was buggy (it didn't take care of
indirect registers and could potential cause buffer underflows) and the
same effect can now be easily achieved by just by looking at
input_semantic_name[] and input_usage_mask[].
2010-06-01 16:39:04 +01:00
José Fonseca
2c67e754cf tgsi: Remove tgsi-instruction-set.txt.
Deprecated by tgsi.rst, and no point in keeping it around if it's not
being updated.
2010-06-01 16:39:04 +01:00
José Fonseca
149cb7682e llvmpipe: Don't waste time interpolating unused input channels. 2010-06-01 16:39:03 +01:00
José Fonseca
abe4f3d1aa tgsi: Determine which shader input channels are effectively.
TGSI's UsageMask flag is never set. We can move this logic into
tgsi_ureg, but there there are still cases where's not used, so this
seems a better place for now.
2010-06-01 16:39:03 +01:00
José Fonseca
d9c6ebb4fe gallium/docs: Update FRAC -> FRC. 2010-06-01 16:39:03 +01:00
Thomas Hellstrom
7356d1c140 st/xorg: Fix Xv cliprect scaling.
Due to a quantization error, different cliprects of scaled video windows may
not have identical x / y scale.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2010-05-31 18:33:09 +01:00
Thomas Hellstrom
195c476f9f st/xorg Avoid advertizing rotation / reflection support.
We don't support it yet since we don't implement the shadow allocate
functions.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2010-05-31 18:33:05 +01:00
José Fonseca
524ec6464d llvmpipe: Show fs's TGSI when LP_DEBUG=tgsi is set. 2010-05-31 21:58:38 +01:00
Chia-I Wu
a27690931b st/egl: Use stamps only to avoid unnecessary geometry update.
resource_surface_add_resources should still be called even when the
stamps match.  For example, a caller may ask for two different sets of
attachments.
2010-05-31 20:06:59 +08:00
Dave Airlie
47de9adece gallium: fix TFP on gallium
This fixes an uninitialised value use in the dri2 st when doing TFP.

It uses the driContextPriv which isn't initialised at alloc time.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-31 19:28:08 +10:00
Chia-I Wu
7ede18abac st/egl: Update KMS backend to use resource_surface. 2010-05-31 17:03:58 +08:00
Chia-I Wu
e4400a48a6 st/egl: Update GDI backend to use resource_surface. 2010-05-31 17:03:58 +08:00
Chia-I Wu
f38a20b461 st/egl: Update ximage backend to use resource_surface. 2010-05-31 17:03:58 +08:00
Chia-I Wu
e1e0307c91 st/egl: Add helper functions for use by backends.
There is only resource_surface for now.  It helps manage the resources
of a software-based native surface such as XImage or GDI.
2010-05-31 17:03:58 +08:00
Chia-I Wu
636f7becfd targets/egl: Add SConscript for egl-apis.
It will build api_OpenVG.dll on Windows.
2010-05-31 13:28:03 +08:00
Chia-I Wu
e5b5d84e8a st/vega: Use SConscript for Windows build.
Fix several portability issues and add SConscript for Windows build.
2010-05-31 13:28:01 +08:00
Chia-I Wu
a2f3115307 gallium/util: Define isfinite and isnan for MSVC.
Define isfinite and isnan to _finite and _isnan respectively for MSVC.
Those macros are needed by st/vega.
2010-05-31 13:27:58 +08:00
Chia-I Wu
f6f9d1014b st/egl: Use OS-specific module suffices.
At least, .dll is used on Windows.
2010-05-31 13:27:48 +08:00
Chia-I Wu
ec0bab3a51 targets/egl: Add SConscript for egl_gdi_swrast.
egl_gdi_swrast uses st/egl/gdi and winsys/sw/gdi to provide an EGL
driver for Windows.
2010-05-31 13:27:46 +08:00
Chia-I Wu
a8e195ec24 st/egl: Add GDI backend.
The backend uses Windows GDI driver to provide a software EGL
implementation on Windows.
2010-05-31 13:27:44 +08:00
Chia-I Wu
1e6c10f4be egl: Use SConscript for Windows build.
Fix several portability issues and add SConscript for Windows build.
2010-05-31 13:27:41 +08:00
Chia-I Wu
ba26631d0d Define PUBLIC to dllexport on MSVC.
Define PUBLIC to __declspec(dllexport) when _MVC_VER is defined.
2010-05-31 11:31:07 +08:00
Marek Olšák
21dfcde3ff r300g: set correct pitch in libdrm
to match what DDX sets. This prevents some flushes from occuring.
2010-05-31 04:16:24 +02:00
Marek Olšák
7a4601db52 r300g: remove texture usage transfer flag 2010-05-31 04:16:24 +02:00
Marek Olšák
4182d3ea00 r600g: remove unused struct r600_state
What was the purpose of it?
2010-05-31 04:16:24 +02:00
Vinson Lee
1202f17063 r600g: Remove unnecessary headers. 2010-05-30 15:30:05 -07:00
Alex Deucher
3b869b4cdb r600g: RS880 is r6xx-based
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-05-30 16:08:55 -04:00
José Fonseca
7f1c007840 llvmpipe: Remove unused framebuffer stuff from the rasterizer. 2010-05-30 16:39:14 +01:00
José Fonseca
2b7fbccfdc llvmpipe: Don't force a linear to tiled conversion after rasterization on debug builds.
Only do this if runtime debugging flags to show subtiles/tiles are set.
2010-05-30 16:39:06 +01:00
José Fonseca
82715bb227 llvmpipe: Call llvmpipe_set_texture_tile_layout only when necessary.
Like the other places.
2010-05-30 16:38:46 +01:00
José Fonseca
b57e18c35c util: Add inline function for approximate floating point comparison. 2010-05-30 16:38:41 +01:00
José Fonseca
f503b3dd9d llvmpipe: Use pointer_to_func() instead of custom wrappers. 2010-05-30 16:38:23 +01:00
José Fonseca
4b29da1226 draw: Use pointer_to_func() instead of custom wrappers. 2010-05-30 16:38:03 +01:00
José Fonseca
6f67a71aad util: Generic pointer to func conversion helper.
That observes strict-aliasing rules.
2010-05-30 16:36:08 +01:00
José Fonseca
18fb9ff6d8 llvmpipe: Pass the fs variant to the rasterizer. 2010-05-30 10:30:01 +01:00
José Fonseca
dc10943038 python/retrace: Interpret resource_copy_region. 2010-05-30 10:30:01 +01:00
José Fonseca
311227abbb st/python: Expose region_copy/fill_region instead of deprecated surface_copy/fill 2010-05-30 10:30:01 +01:00
Chia-I Wu
0f37f242dd st/vega: Use FREE.
Match MALLOC with FREE.  Otherwise, it causes weird segfaults when built
with memory debugging.
2010-05-30 11:11:27 +08:00