Marek Olšák
e279d18232
r300g: add is_r400 flag
...
r4xx has some additional fragment shader registers compared to r3xx.
2010-01-12 18:08:58 -08:00
Marek Olšák
4c9a8a14e5
r300g: silence a warning
2010-01-12 18:08:58 -08:00
Marek Olšák
f3c4f2ef62
r300g: only emit scissor when needed
...
Reverting some bits from ce1c493ff8 .
Given the latest fixes, it's not needed to always emit scissor, really.
2010-01-12 18:08:57 -08:00
Marek Olšák
a2926a2a8b
Revert "r300g: Placate kernel checker by explicitly disabling depth test."
...
This reverts commit e920ee23b3 .
Assuming the FB state is not dirty and the DSA state is, then the depth test
will be re-enabled, making the kernel checker angry. Reverting the commit
fixes piglit/glsl-bug-22603.
2010-01-12 18:08:57 -08:00
Marek Olšák
6633484774
r300g: mark all states as dirty after flush
...
It fixes almost all regressions introduced lately.
2010-01-12 18:08:57 -08:00
Marcin Slusarz
90762bd355
nv50: fix 2 off by one memory leaks (nv50_miptree_level->image_offset)
2010-01-12 17:39:23 +01:00
Marcin Slusarz
c83093973e
nv50: fix memory leak on nv50_pc free
2010-01-12 17:38:52 +01:00
José Fonseca
26c78a4968
gallium: Rename ALIGN_STACK -> PIPE_ALIGN_STACK for consistency.
2010-01-12 12:15:24 +00:00
José Fonseca
5dfd5ed5e7
gallium: Simplify PIPE_ALIGN_VAR.
...
gcc allows pre-fix variable attributes.
Suggested by Ian Romanick.
2010-01-12 12:11:04 +00:00
José Fonseca
86bfe974b8
gallium: Generalize the alignment macros to other compilers and any alignment.
2010-01-12 12:11:04 +00:00
Corbin Simpson
ce1c493ff8
r300g: Always emit scissors.
...
Save some code, improve FPS, and fix piglit tests. Everybody wins.
2010-01-12 02:33:55 -08:00
Chia-I Wu
28272bc472
st/egl_g3d: Get the stapi from the driver.
...
egl_g3d_get_st was called because the driver argument was not given
before. It can be fixed now.
2010-01-12 17:56:48 +08:00
Chia-I Wu
3e6139d158
egl: Add _EGLDriver as the first argument to GetProcAddress.
...
The rest of the driver API has it as the first argument. It should be
there so that a driver has access to itself.
2010-01-12 17:53:57 +08:00
Chia-I Wu
31d2786239
egl_xdri: Fix build breakage.
...
driScreen->swapBuffers takes 3 more arguments since
daf7fe69f7 .
2010-01-12 17:51:08 +08:00
Chia-I Wu
1c1015bd53
st/egl_g3d: Improve comments to the native display interface.
...
Document the future of __GLcontextModes. Improve the description of
surface validation and native_flush_frontbuffer.
2010-01-12 14:06:11 +08:00
Corbin Simpson
daa446fa83
r300g: Add back dirty state check.
...
From 07ea7e6c80 . This is the only questionable part of that commit,
AFAICT...
2010-01-11 20:54:12 -08:00
Corbin Simpson
e920ee23b3
r300g: Placate kernel checker by explicitly disabling depth test.
...
This probably should disable stencil, too, if the kernel cares enough.
Note: When atomized, framebuffer setup should go towards the end anyway,
but it *must* follow these test setups anyway.
2010-01-11 20:54:12 -08:00
Corbin Simpson
22d615a9c4
r300g: Avoid segfault on binding null RS state.
2010-01-11 20:54:11 -08:00
Brian Paul
fe0e627685
st/mesa: removed unused var
2010-01-11 21:25:58 -07:00
Brian Paul
935fdbe142
st/mesa: comments, whitespace
2010-01-11 21:25:58 -07:00
Chia-I Wu
077d6dd750
winsys/drm: Use egl_g3d to build EGL drivers.
...
The new EGL drivers use egl_g3d and respect EGL_DISPLAYS. They are
named after the display supported and the DRM name.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-12 11:09:00 +08:00
Chia-I Wu
a68b51deb2
st/egl_g3d: Add support for KMS native display.
...
The KMS native display implements the modeset interface using DRM
modesetting.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-12 11:09:00 +08:00
Chia-I Wu
2dcdf19ee3
st/egl_g3d: Add support for EGL_MESA_screen_surface.
...
This is implemented through the modeset interface.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-12 11:09:00 +08:00
Chia-I Wu
c67ad0eee8
st/egl_g3d: Update the native display interface for modesetting.
...
The new interface can be used to implement EGL_MESA_screen_surface.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-12 11:09:00 +08:00
Chia-I Wu
49381d63e6
st/egl_g3d: New EGL state tracker that uses Gallium.
...
This new (intermediate) EGL state tracker is the base work for EGL
drivers that uses Gallium. It makes it easier to support new window
systems.
Currently, there is support only for X11. This driver supports multiple
APIs (OpenVG, OpenGL, ...) and supports hardware acceleration through
winsys/drm.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-12 11:08:57 +08:00
Chia-I Wu
6dafd61ab2
winsys/drm: Add name field to drm_api.
...
The name can be used for driver selection. It has the same name as the
DRI driver does right now.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-12 10:55:36 +08:00
Chia-I Wu
39790cab13
egl: EGL_SCREEN_BIT_MESA is a valid bit.
...
Update _eglValidateConfig so that it passes the test.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-12 10:55:35 +08:00
Chia-I Wu
2d44b6f884
st/mesa: Remove st_api.c.
...
st_api.c is supposed to define st_api_OpenGL to advertise OpenGL
support. However, the linker discards the symbol because it has no
user. It is better to leave this to other state trackers that link to
libmesagallium.a.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-12 10:55:35 +08:00
Chia-I Wu
ea014ed461
st/vega: Make it compatible with st_public.h.
...
It missed a stub for st_get_proc_address, and st_make_current should
return a boolean.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-12 10:55:35 +08:00
Chia-I Wu
940360a2e5
st/vega: Advertise OpenVG support.
...
Define st_api_OpenVG to advertise OpenVG support.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-12 10:55:35 +08:00
Jesse Barnes
c6ef705e41
Merge branch 'master' of ssh://people.freedesktop.org/~jbarnes/mesa
...
Conflicts due to DRI1 removal:
src/mesa/drivers/dri/intel/intel_context.c
src/mesa/drivers/dri/intel/intel_screen.c
2010-01-11 15:23:29 -05: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
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