Commit Graph

29561 Commits

Author SHA1 Message Date
Chia-I Wu 562c127693 Merge branch 'master' into opengl-es-v2
Conflicts:
	src/mesa/main/dd.h
2010-01-12 11:25:02 +08: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
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