Commit graph

29495 commits

Author SHA1 Message Date
Roland Scheidegger
4a4daa75a8 gallium: clean up point sprite rasterizer state
Don't need sprite coord origin per coord.
Also, don't need separate sprite enable bit - if all coords have it diabled,
then there are no point sprites (technically, there's a distinction in pre-GL3,
but it only differs in having more leniency in clamping to max size, something
the state tracker would need to handle and the hardware won't bother anyway).
Also, use packed field for the per-coord enables.
All in all, should save 3 dwords in rasterizer state (from 10 down to 7).
2010-02-03 17:25:14 +01:00
Roland Scheidegger
a407636efb gallium: remove point_size_min and point_size_max from rasterizer state
The state tracker is responsible for clamping to any graphics API enforced
size min/max limits for both the static point_size setting as well as per
vertex point size (in the vertex shader).
Note that mesa state tracker didn't actually use these values.
2010-01-12 15:54:13 +01:00
Chia-I Wu
cca66dbb59 st/xlib: Mark GLX functions as public.
Mark all functions start with glX as public.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-11 10:04:44 -05:00
Chia-I Wu
b1356df647 st: Mark functions in st_public.h and vg_tracker.h as public.
These functions are the API of Gallium state tracker, and are used by
EGL.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-11 10:04:41 -05:00
Chia-I Wu
108c2bf5ab gallium: Add PUBLIC macro for function visibility.
As the default build has -fvisibility=hidden, add a macro to control the
visibility.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-11 10:04:37 -05:00
Chia-I Wu
5ec99c04a9 st/vega: Fix breakage from -fvisibility=hidden.
Mark VG and VGU functions as public.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-11 10:04:28 -05:00
José Fonseca
015a5a126b python: Integrate with llvmpipe if possible.
Temporary. We should soon have the ability to integrate with any driver
via glx extensions.
2010-01-11 14:01:07 +00:00
José Fonseca
f2f1672027 python: Mask out PIPE_TEXTURE_USAGE_DISPLAY_TARGET usage.
As displaying surfaces directly isn't supported by the python state
tracker.
2010-01-11 14:01:07 +00:00
José Fonseca
3e8c82037f python: Prefer PIPE_FORMAT_Z32_UNORM. 2010-01-11 14:01:07 +00:00
José Fonseca
76185ecad6 python: Set PIPE_TEXTURE_USAGE_RENDER_TARGET instead of DISPLAY_TARGET.
As the python state tracker is not integrated with window system an
cannot present surfaces directly.
2010-01-11 14:01:06 +00:00
Corbin Simpson
1c75edf3e8 util: Set flatshade for blitter.
It was bugging me. +1 FPS on softpipe.
2010-01-11 05:43:29 -08:00
Corbin Simpson
2bfb21790c radeong: Check for DONTBLOCK before flushing, remove dead code. 2010-01-11 05:43:29 -08:00
Keith Whitwell
f9626ce10e util/blitter: remove unused variable 2010-01-11 10:56:41 +00:00
Luca Barbieri
eea6a7639f Fix compressed texture loads for non-minimal pitches
The current glCompressedTexImage support in the state tracker assumes
that compressed textures have minimal pitch.

However, in some cases this is not true, such as for mipmaps of non-POT
compressed textures on nVidia hardware.

This patch adds a check and does a memcpy for each line instead of the
whole image in that case.

Signed-off-by: Keith Whitwell <keithw@vmware.com>

Tweaks for C90 compilation.
2010-01-11 10:53:02 +00:00
Corbin Simpson
bfcafbe15d r300g: Don't bother testing for empty scissors.
If somebody goes through that much effort, they probably intended it.
So humor them. :3
2010-01-10 23:38:05 -08:00
Corbin Simpson
973326027f util: Apply Brian's suggested blit improvements.
copypix works just fine.
2010-01-10 23:30:01 -08:00
Dave Airlie
deaa634e02 gallium: u_blitter add overlapping blit support.
the xorg state tracker really wants the driver to handle overlapping
blits, and r300 uses u_blitter for blits. This patch adds overlapping
blit support via a temporary surface when its required.
2010-01-10 23:18:31 -08:00
Corbin Simpson
1e9ffb6340 r300g: Atomize scissors.
Argfl. Some of this code is so questionable.
2010-01-10 23:15:05 -08:00
Corbin Simpson
8ca491386d r300g: Move TCL bypass switch to main context. 2010-01-10 23:15:05 -08:00
Corbin Simpson
47f59cfc8e r300g: Atomize viewport.
Goddammit, some of these hax are really annoying.
2010-01-10 23:15:05 -08:00
Corbin Simpson
e7d760ff09 r300g: Move ROPCNTL to the top of the emit order.
According to the docs, this decreases stalls, and indeed we get a tiny
bit more glxgears from it.
2010-01-10 23:15:05 -08:00
Corbin Simpson
7b569bef15 r300g: Don't avoid rewriting ZTOP.
Simplify the code. Added a comment to keep me from doing it again.
2010-01-10 23:15:05 -08:00
Corbin Simpson
46fafdd455 r300g: Atomize rasterizer.
I want to stab things now.
2010-01-10 23:15:04 -08:00
Marcin Kościelnicki
d9de848de1 nouveau: Make winsys recognise the original NV50. 2010-01-11 15:16:12 +10:00
Dave Airlie
42f2880ffd radeon: fix prediction for r100 inline vert/elt emits.
On r100 we emit the indices inline so we need to account
for that in the emission size.
2010-01-11 13:24:59 +10:00
Dave Airlie
554043bff7 radeon: fix bug in realloc code.
This bug was fixed in libdrm ages ago, port to non-kms
2010-01-11 13:24:58 +10:00
Ben Skeggs
32da02f7c1 st/dri: update dri2 drawables when viewport is changed
Fixes gnome-shell on nouveau, as well as window resize with various
other applications.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-01-11 11:44:38 +10:00
Corbin Simpson
8a2c961798 r300g: Atomize ZTOP.
Also do state-change checks. ZTOP's too important to not check.
2010-01-10 11:49:25 -08:00
Corbin Simpson
07ea7e6c80 r300g: Atomize DSA.
Also a bit of ztop.
2010-01-10 11:17:34 -08:00
Corbin Simpson
249374b853 r300g: Atomize UCP.
Meh.
2010-01-10 11:17:34 -08:00
Corbin Simpson
9d3db601c7 r300g: Atomize blend color. 2010-01-10 11:17:34 -08:00
Corbin Simpson
d496399156 r300g: Start using atoms.
No benefits yet.
2010-01-10 11:17:34 -08:00
José Fonseca
12576556e4 llvmpipe: Update instructions.
Explain how to build for windows. Both MSVC 9 and cross MinGW supported.

Stop documenting LLVM 2.5 as supported. It still supported at the moment
but it will soon stop being.
2010-01-10 18:37:42 +00:00
Chia-I Wu
d4c1ee0534 egl: Clean up the Makefile rules.
This allows libEGL to be built as a static library and removes libX11
from the dependencies.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-11 01:11:05 +08:00
Chia-I Wu
064242ae9f egl_softpipe: Remove the unnecessary call to _eglSwapBuffers.
The call to _eglSwapBuffers is unnecessary, and the function is missing
when -fvisibility=hidden.  Also remove the extraneous braces and indent
the block.
2010-01-11 01:06:47 +08:00
José Fonseca
cdc11056de llvmpipe: Yet another hack to get release LLVM static libraries to link in debug builds. 2010-01-10 11:20:11 +00:00
José Fonseca
a921458c16 scons: LLVM <-> MSVC integration tweaks. 2010-01-10 10:51:42 +00:00
José Fonseca
74f520861f gallium: Remove dead code. 2010-01-10 10:44:25 +00:00
José Fonseca
dc6bcc92ee gallium: Provide alternative stdint.h and stdbool.h C99 headers, instead of ad-hoc definitions.
Everybody is using the C99's integer types. Everybody except Microsoft,
which in turns means everybody is including their own definitions of C99
integer types for MSVC, causing duplicate definitions when linking two
projects. This is the case of building Gallium and LLVM with MSVC.

Shipping alternative stdint.h and stdbool.h headers for MSVC allows us
to share a single definition. It also removes clutter from the Gallium
headers.
2010-01-10 10:39:29 +00:00
Maciej Cencora
0b7b76fb16 r300: minor accelerated blit fixes 2010-01-09 19:53:17 +01:00
Maciej Cencora
cf1748053a r300: fallback on depth buffer blits
Depth buffer accelerated blits aren't implemented yet.
2010-01-09 19:52:42 +01:00
Christoph Bumiller
99637ba80e nv50: handle TGSI_OPCODE_UMAD,UMUL,NOT and fix SAD 2010-01-08 18:23:12 +01:00
Christoph Bumiller
222738fcf5 nv50: free src temp_temps on emit 2010-01-08 18:23:08 +01:00
Christoph Bumiller
a5f771d758 nv50: try to honor sprite coord mode 2010-01-08 18:23:04 +01:00
Brian Paul
fd70841121 Merge branch 'mesa_7_7_branch'
Conflicts:

	src/mesa/drivers/dri/i965/brw_wm_emit.c
2010-01-08 08:21:12 -07:00
Dan Nicholson
674c76310f mesa: Ensure libmesagallium.a is finished building before descending
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
2010-01-08 06:09:19 -08:00
Dan Nicholson
a1de400e8d mklib: Extract archives into temporary directories
When static libraries are created from other archives, objects are
extracted and then deleted when the static library is done. This can
race when there are multiple static libraries being created from the
same archives as with libmesa.a and libmesagallium.a.

Should fix this issue with parallel jobs:

make[5]: *** No rule to make target
> `../../../../../../src/mesa/libmesagallium.a', needed by
> `radeon_dri.so'. Stop

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reported-and-Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
2010-01-08 06:01:22 -08:00
Michal Krol
dddd5a36ac tgsi: Cleanup dot-product opcodes in interpreter. 2010-01-08 12:03:55 +01:00
Vinson Lee
3c42e403de r300: Move initial declaration outside for loop. 2010-01-08 01:13:46 -08:00
Francisco Jerez
95f603a5f3 nv20: Fix build for the latest nouveau_class.h changes. 2010-01-08 04:42:28 +01:00