Commit Graph

29548 Commits

Author SHA1 Message Date
Jesse Barnes ed59b13da8 GLX: use glproto CFLAGS etc. when building
Roll the glproto check into the dri2proto and libdrm check so we get the
proper CFLAGS and LDFLAGS for the package.
2010-01-13 15:48:14 -05:00
Corbin Simpson aeb34b2489 r300g: Account for CS space used per atom.
Oh yeah, those atoms are startin' to pay off. The main obstacle now
for OA playability is the absurdly low default mouse sensitivity, IMO.
Not totally smooth yet, but getting there.
2010-01-13 01:44:58 -08:00
Corbin Simpson a930dc7ee9 r300g: Two dirty state optimizations. 2010-01-13 01:07:49 -08:00
Corbin Simpson ae4eb25132 r300g: DCE in emit. 2010-01-13 00:57:03 -08:00
Corbin Simpson e4e5acc833 r300g: Lower the immd mode threshold. 2010-01-12 22:22:22 -08:00
Corbin Simpson c1db20280c r300g: Fix is_r400 status for rs4xx and rc4xx.
As suggested by agd5f.
2010-01-12 21:52:00 -08:00
Corbin Simpson 948b7e97a6 r300g: Switch to immediate mode for tiny renders.
Useful for e.g. blitter.
2010-01-12 21:50:14 -08:00
Marek Olšák 50ae9c6073 r300g: emit blend LTE/GTE thresholds on >=RV350
As per classic r300.
2010-01-12 18:08:58 -08:00
Marek Olšák 46992664d1 r300g: update the texture initialization so that it respects tiling
This is still work-in-progress and tiling is not enabled by default.
2010-01-12 18:08:58 -08:00
Marek Olšák 99ea4c0c7e r300g: add emission of texture tiling bits 2010-01-12 18:08:58 -08:00
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 472a601966 progs/egl: Fix screen surface demos.
Set the screen surface size to the mode size, as the spec requires the
screen surface size to be larger than the mode size.  Besides, bind the
API to OpenGL as they are written in it.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-12 10:55:35 +08:00
Chia-I Wu c657c80180 progs/egl: glGenTextures is called too early in xeglbindtex.
It should be called after eglMakeCurrent.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-12 10:55:35 +08:00
Chia-I Wu 3bcb08f6c4 progs: Check the number of configs returned by eglChooseConfig.
A successful eglChooseConfig call does not imply there are valid
configs.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-12 10:55:35 +08:00
Chia-I Wu 033bd95802 progs: Add missing EGL_RENDERABLE_TYPE for EGL demos.
The default value of EGL_RENDERABLE_TYPE is EGL_OPENGL_ES_BIT.  The
proper values should be specified if we are not using OpenGL ES.

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 f2f83d9a78 GLX: check glproto version
This was a silent dependency before, but now we really need 1.4.11 for
INTEL_swap_event support, so check for it.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-01-11 17:30:41 -05: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
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