mesa.git
14 years agomesa: Use fpclassify for GL_OES_query_matrix on OpenBSD and NetBSD.
Chia-I Wu [Wed, 30 Jun 2010 04:58:36 +0000 (12:58 +0800)]
mesa: Use fpclassify for GL_OES_query_matrix on OpenBSD and NetBSD.

Patch from Brad Smith <brad@comstyle.com>

  The attached patch allows the GL_OES_query_matrix function to use the
  systems fpclassify() for OpenBSD and NetBSD.

14 years agomesa: make the arguments in the asm statemants optional
Zack Rusin [Wed, 30 Jun 2010 01:45:41 +0000 (21:45 -0400)]
mesa: make the arguments in the asm statemants optional

geometry shaders emit/end functions don't take any arguments

14 years agor300g: add workaround for multiple contexts
Marek Olšák [Tue, 29 Jun 2010 22:02:27 +0000 (00:02 +0200)]
r300g: add workaround for multiple contexts

14 years agor300g: move one flush from winsys to the context
Marek Olšák [Tue, 29 Jun 2010 21:34:36 +0000 (23:34 +0200)]
r300g: move one flush from winsys to the context

This flush happens when changing the tiling flags, and it should really be
done in the context.

I hope this fixes FDO bug #28630.

14 years agollvmpipe: don't crash/assert on out of memory
Brian Paul [Tue, 29 Jun 2010 21:40:15 +0000 (15:40 -0600)]
llvmpipe: don't crash/assert on out of memory

Check for null pointers and return early, etc.

14 years agollvmpipe: restore call to lp_setup_update_state()
Brian Paul [Tue, 29 Jun 2010 21:18:58 +0000 (15:18 -0600)]
llvmpipe: restore call to lp_setup_update_state()

This undoes part of commit 8be645d53a0d5d0ca50e4e9597043225e2231b6d
and fixes fd.o bug 28822 as well as other regressions.

The 'draw' module may issue additional state-change commands while
we're inside the draw_arrays/elements() call so it's important to
check for updated state at this point.

14 years agoegl: Check for drm winsys not just the driver name
Jakob Bornecrantz [Tue, 29 Jun 2010 17:21:00 +0000 (18:21 +0100)]
egl: Check for drm winsys not just the driver name

Also fix pipe_radeon.so not building

14 years agodraw: Add inline keyword to inline function.
José Fonseca [Tue, 29 Jun 2010 13:30:44 +0000 (14:30 +0100)]
draw: Add inline keyword to inline function.

Otherwise gcc will warn about unusued functions.

14 years agoi915g: Fix copy pasto
Jakob Bornecrantz [Tue, 29 Jun 2010 11:36:40 +0000 (12:36 +0100)]
i915g: Fix copy pasto

14 years agoegl: Fix gallium build when EGL is not installed on system
Jakob Bornecrantz [Tue, 29 Jun 2010 11:28:41 +0000 (12:28 +0100)]
egl: Fix gallium build when EGL is not installed on system

14 years agoi915g: Add missing egl pipe file
Jakob Bornecrantz [Tue, 29 Jun 2010 11:28:15 +0000 (12:28 +0100)]
i915g: Add missing egl pipe file

14 years agoegl: Remove st/egl probe code.
Chia-I Wu [Thu, 24 Jun 2010 16:41:56 +0000 (00:41 +0800)]
egl: Remove st/egl probe code.

It is no longer needed.

14 years agoegl: Do not call drv->Initialize with global mutex locked.
Chia-I Wu [Thu, 24 Jun 2010 08:49:40 +0000 (16:49 +0800)]
egl: Do not call drv->Initialize with global mutex locked.

14 years agost/egl: Build a single EGL driver.
Chia-I Wu [Wed, 23 Jun 2010 13:36:20 +0000 (21:36 +0800)]
st/egl: Build a single EGL driver.

This change makes st/egl build a single egl_gallium.so and multiple
st_<API>.so and pipe_<HW>.so.  When a display is initialized, the
corresponding pipe driver will be loaded.  When a context is created,
the corresponding state tracker will be loaded.

Unlike DRI drivers, no ABI compatibility is maintained.  egl_gallium,
pipe drivers and state trackers should always be distributed as a single
package.  As such, there is only a single src/gallium/targets/egl/ that
builds everything for the package.

14 years agost/egl: Move module loading code to targets.
Chia-I Wu [Tue, 29 Jun 2010 06:58:33 +0000 (14:58 +0800)]
st/egl: Move module loading code to targets.

Several changes are made.  libegl.a no longer defines _eglMain.  It
defines functions to create and destroy a _EGLDriver instead.  The
creation function is called by the targets.  It takes an egl_g3d_loader
as its argument.  The loader is defined by the targets and is in charge
of creating st_api and pipe_screen.  This allows us to move the module
loading code to targets.  Lastly, the modules are now loaded as the
respective contexts are created.

14 years agost/egl: Reorganize targets.
Chia-I Wu [Tue, 29 Jun 2010 06:04:27 +0000 (14:04 +0800)]
st/egl: Reorganize targets.

Merge all targets into targets/egl/.  The target produces
egl_gallium_<HW>.so for each pipe driver and st_<API>.so for each client
APIs.  This enables us to further merge egl_gallium_<HW>.so into
egl_gallium.so later.

14 years agost/egl: One driver per hardware.
Chia-I Wu [Thu, 17 Jun 2010 15:45:41 +0000 (23:45 +0800)]
st/egl: One driver per hardware.

Merge multiple egl_<platform>_<pipe>.so into a single
egl_gallium_<pipe>.so.  The environment variable EGL_PLATFORM is now
used to modify the return value of _eglGetNativePlatform.

14 years agost/egl: Introduce native_platform.
Chia-I Wu [Thu, 17 Jun 2010 15:21:43 +0000 (23:21 +0800)]
st/egl: Introduce native_platform.

Move native_get_name, native_create_probe, native_get_probe_result, and
native_create_display into struct native_platform, and add
native_get_platform to get a handle to the struct.

14 years agost/egl: Make api_OpenGL support OpenGL ES.
Chia-I Wu [Wed, 23 Jun 2010 09:45:06 +0000 (17:45 +0800)]
st/egl: Make api_OpenGL support OpenGL ES.

This allows api_OpenGL.so to support OpenGL ES.

14 years agost/mesa: Add support for multiple APIs.
Chia-I Wu [Wed, 23 Jun 2010 09:40:49 +0000 (17:40 +0800)]
st/mesa: Add support for multiple APIs.

Add st_gl_api_create_es1 and st_gl_api_create_es2 to create OpeGL ES 1.1
and OpenGL ES 2.0 contexts respectively.

14 years agost_api: Remove st_context::is_visual_supported.
Chia-I Wu [Wed, 23 Jun 2010 08:14:49 +0000 (16:14 +0800)]
st_api: Remove st_context::is_visual_supported.

The callback is used by st/vega to check if a visual specifies the
depth/stencil format.  It forces st/vega to be loaded by st/egl to
perform the check.  As noted in EGL spec, the depth/stencil format of a
visual should not affect OpenVG.  It should be better to ignore the
field and always allocate the depth/stencil texture.

14 years agomesa: initial support for ARB_geometry_shader4
Zack Rusin [Mon, 28 Jun 2010 21:31:21 +0000 (17:31 -0400)]
mesa: initial support for ARB_geometry_shader4

laying down the foundation for everything and implementing most of the
stuff.
linking, gl_VerticesIn and multidimensional inputs are left.

14 years agoutil: reference surfaces and sampler views in blitter when saving them
Marek Olšák [Mon, 28 Jun 2010 23:52:09 +0000 (01:52 +0200)]
util: reference surfaces and sampler views in blitter when saving them

Ooops. This should possibly fix some bugs...

14 years agoi915g: Add Galahad to targets
Jakob Bornecrantz [Mon, 28 Jun 2010 20:33:39 +0000 (22:33 +0200)]
i915g: Add Galahad to targets

14 years agor300g: Galahad for scons as well
Jakob Bornecrantz [Mon, 28 Jun 2010 20:27:51 +0000 (22:27 +0200)]
r300g: Galahad for scons as well

14 years agor300g: Add target defines for Galahad
Jakob Bornecrantz [Mon, 28 Jun 2010 19:54:38 +0000 (21:54 +0200)]
r300g: Add target defines for Galahad

14 years agoglhd: Build with scons
Jakob Bornecrantz [Mon, 28 Jun 2010 20:22:53 +0000 (22:22 +0200)]
glhd: Build with scons

14 years agoglhd: Re-integrate with the debug system
Jakob Bornecrantz [Mon, 28 Jun 2010 19:50:51 +0000 (21:50 +0200)]
glhd: Re-integrate with the debug system

14 years agoglhd: Remove leftover file
Jakob Bornecrantz [Mon, 28 Jun 2010 19:37:03 +0000 (21:37 +0200)]
glhd: Remove leftover file

14 years agoMerge branch 'gallium-drm-driver-drescriptor'
Jakob Bornecrantz [Mon, 28 Jun 2010 18:59:09 +0000 (20:59 +0200)]
Merge branch 'gallium-drm-driver-drescriptor'

Conflicts:
src/gallium/state_trackers/egl/x11/native_dri2.c
src/gallium/state_trackers/egl/x11/native_x11.c
src/gallium/state_trackers/egl/x11/native_x11.h
src/gallium/state_trackers/xorg/xorg_driver.c
src/gallium/winsys/radeon/drm/radeon_drm.c

14 years agollvmpipe: set WRITE_ALL only a per-tile basis in lp_resource_copy().
José Fonseca [Mon, 28 Jun 2010 15:33:52 +0000 (16:33 +0100)]
llvmpipe: set WRITE_ALL only a per-tile basis in lp_resource_copy().

14 years agollvmpipe: Actually flush in lp_resource_copy()
José Fonseca [Mon, 28 Jun 2010 14:39:54 +0000 (15:39 +0100)]
llvmpipe: Actually flush in lp_resource_copy()

The cpu_access is redundant in a software rasterizer.

14 years agollvmpipe: Ensure outdated framebuffer state is not reused in lp_setup_bind_framebuffer().
José Fonseca [Mon, 28 Jun 2010 15:28:55 +0000 (16:28 +0100)]
llvmpipe: Ensure outdated framebuffer state is not reused in lp_setup_bind_framebuffer().

We were starting a scene whenever lp_setup_get_vertex_info() was called by
the draw module. So when when all primitives were culled/clipped, not only
did we create a new scene for nothing, but we end up using the old scene
with the old framebuffer state instead of a new one.

Fix consists in:
- don't call lp_setup_update_state() in lp_setup_get_vertex_info() -- no
  longer necessary
- always setting the scene state before binning a command -- query
  commands were bypassing it
- assert no old scene is reused in lp_setup_bind_framebuffer()

14 years agor300g: fix a compile error on non-debug builds
Marek Olšák [Sun, 27 Jun 2010 15:15:23 +0000 (17:15 +0200)]
r300g: fix a compile error on non-debug builds

14 years agoutil: fix a memory leak in blitter
Marek Olšák [Sun, 27 Jun 2010 13:02:08 +0000 (15:02 +0200)]
util: fix a memory leak in blitter

14 years agor300g: separate the hyperz state and pipelined FB regs out of the FB state
Marek Olšák [Sun, 27 Jun 2010 11:55:59 +0000 (13:55 +0200)]
r300g: separate the hyperz state and pipelined FB regs out of the FB state

14 years agor300g: release referenced objects in destroy_context
Marek Olšák [Sat, 26 Jun 2010 23:07:34 +0000 (01:07 +0200)]
r300g: release referenced objects in destroy_context

14 years agor300g: reference surfaces in set_framebuffer_state
Marek Olšák [Sat, 26 Jun 2010 22:39:27 +0000 (00:39 +0200)]
r300g: reference surfaces in set_framebuffer_state

14 years agor300g: group debug messages
Marek Olšák [Sat, 26 Jun 2010 17:09:19 +0000 (19:09 +0200)]
r300g: group debug messages

14 years agor300g: turn rasterizer state into a command buffer
Marek Olšák [Fri, 25 Jun 2010 02:48:02 +0000 (04:48 +0200)]
r300g: turn rasterizer state into a command buffer

14 years agor300g: move emission of the MSPOS regs into the framebuffer state
Marek Olšák [Fri, 25 Jun 2010 01:28:09 +0000 (03:28 +0200)]
r300g: move emission of the MSPOS regs into the framebuffer state

Now the question is whether we are allowed to ignore gl_rasterization_rules and
pipe_rasterizer_state::multisample. The former is invariant anyway and
I think the latter would need re-emitting the AA state which is quite costly,
considering that it implicitly flushes the whole pipeline (all AA regs
in the AA state are *unpipelined*).

14 years agor300g: turn invariant state into a command buffer
Marek Olšák [Fri, 25 Jun 2010 00:55:14 +0000 (02:55 +0200)]
r300g: turn invariant state into a command buffer

14 years agor300g: initialize some crucial state in the first CS
Marek Olšák [Fri, 25 Jun 2010 00:37:06 +0000 (02:37 +0200)]
r300g: initialize some crucial state in the first CS

14 years agor300g: introduce VAP invariant state
Marek Olšák [Fri, 25 Jun 2010 00:16:43 +0000 (02:16 +0200)]
r300g: introduce VAP invariant state

Unlike other invariant states, this one must be emitted after VAP flush.

14 years agor300g: immediate mode cleanup
Marek Olšák [Tue, 22 Jun 2010 05:54:21 +0000 (07:54 +0200)]
r300g: immediate mode cleanup

14 years agor300g: update my notes about fastfill and zbuffer compression
Marek Olšák [Sat, 26 Jun 2010 15:41:42 +0000 (17:41 +0200)]
r300g: update my notes about fastfill and zbuffer compression

14 years agor300g: enum r300_blitter_op is a bitmask
Marek Olšák [Sat, 26 Jun 2010 15:35:56 +0000 (17:35 +0200)]
r300g: enum r300_blitter_op is a bitmask

14 years agodraw: fix build with llvm and make
Marek Olšák [Sat, 26 Jun 2010 12:00:24 +0000 (14:00 +0200)]
draw: fix build with llvm and make

14 years agomesa: Remove unnecessary header.
Vinson Lee [Sat, 26 Jun 2010 07:47:52 +0000 (00:47 -0700)]
mesa: Remove unnecessary header.

14 years agost/mesa: Remove unnecessary headers.
Vinson Lee [Sat, 26 Jun 2010 07:38:05 +0000 (00:38 -0700)]
st/mesa: Remove unnecessary headers.

14 years agodraw: Remove unnecessary header.
Vinson Lee [Sat, 26 Jun 2010 07:31:57 +0000 (00:31 -0700)]
draw: Remove unnecessary header.

14 years agodraw: deleted by mistake
Zack Rusin [Sat, 26 Jun 2010 00:06:53 +0000 (20:06 -0400)]
draw: deleted by mistake

14 years agodraw: initialize headers in the none post paths as well
Zack Rusin [Fri, 25 Jun 2010 23:58:09 +0000 (19:58 -0400)]
draw: initialize headers in the none post paths as well

14 years agodraw: limit the number of vertex shader variants kept around
Zack Rusin [Fri, 25 Jun 2010 23:31:09 +0000 (19:31 -0400)]
draw: limit the number of vertex shader variants kept around

we used to create and cache unltimited number of variant, this
change limits the number of variants kept around to a fixed number.
the change is based on a similar patch by Roland for llvmpipe fragment
shaders.

14 years agodraw: initialize vertex header
Zack Rusin [Wed, 23 Jun 2010 22:13:25 +0000 (18:13 -0400)]
draw: initialize vertex header

14 years agogallium/util: fix pipe_sampler_view_reference() calls
Brian Paul [Fri, 25 Jun 2010 20:12:30 +0000 (14:12 -0600)]
gallium/util: fix pipe_sampler_view_reference() calls

The conditionals aren't needed.

14 years agosoftpipe: rename a var
Brian Paul [Fri, 25 Jun 2010 15:39:43 +0000 (09:39 -0600)]
softpipe: rename a var

14 years agodraw: Work around an invalid write.
Chia-I Wu [Fri, 25 Jun 2010 10:32:41 +0000 (18:32 +0800)]
draw: Work around an invalid write.

SSE vertex shader does not seem to honor the execution mask.  Pad the
output array as a workaround.

14 years agomesa: initialize extension string when context is first bound
Brian Paul [Thu, 24 Jun 2010 20:10:24 +0000 (14:10 -0600)]
mesa: initialize extension string when context is first bound

...instead of waiting until glGetString(GL_EXTENSIONS) is called.
This fixes a problem where the MESA_EXTENSION_OVERRIDE env var is
ignored if the app never calls glGetString(GL_EXTENSIONS).

NOTE: this is a candidate patch for the 7.8 branch.

14 years agollvmpipe: fix comment typo
Brian Paul [Thu, 24 Jun 2010 18:45:29 +0000 (12:45 -0600)]
llvmpipe: fix comment typo

14 years agosoftpipe: fix comment typo
Brian Paul [Thu, 24 Jun 2010 18:45:14 +0000 (12:45 -0600)]
softpipe: fix comment typo

14 years agor300g: a couple more chipsets do not have HiZ RAM
Marek Olšák [Thu, 24 Jun 2010 20:19:44 +0000 (22:19 +0200)]
r300g: a couple more chipsets do not have HiZ RAM

14 years agogallium/docs: Vertex data formats.
Corbin Simpson [Thu, 24 Jun 2010 14:54:00 +0000 (07:54 -0700)]
gallium/docs: Vertex data formats.

I'm not sure if I really got it right. This seems like one of those
"Duh, of course it works that way" things, but I'd like the
documentation to be readable by people not acquainted with OGL/D3D.

14 years agoglhd: Add test for logicop enable.
Corbin Simpson [Thu, 24 Jun 2010 14:18:59 +0000 (07:18 -0700)]
glhd: Add test for logicop enable.

Only for first RT at the moment, as there is no trivial way in galahad
to look at framebuffer state and (sadly) people don't usually calloc
their CSOs, so flags could be wrongly set.

On the other hand, of course, galahad will hopefully encourage more
people to calloc their CSOs. :3

14 years agogallium/docs: Lops override the rest of the blending state when enabled.
Corbin Simpson [Thu, 24 Jun 2010 14:13:10 +0000 (07:13 -0700)]
gallium/docs: Lops override the rest of the blending state when enabled.

14 years agogallium/docs: updated remaining semantic label docs
Brian Paul [Thu, 24 Jun 2010 13:21:15 +0000 (07:21 -0600)]
gallium/docs: updated remaining semantic label docs

14 years agopipe: Add PIPE_OS_HURD
nobled [Thu, 24 Jun 2010 01:31:28 +0000 (21:31 -0400)]
pipe: Add PIPE_OS_HURD

One tiny step toward porting Gallium to the GNU/Hurd kernel
(and fixing Debian bug #585618).

Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
14 years agogallium/docs: Add lop table.
Corbin Simpson [Wed, 23 Jun 2010 21:25:26 +0000 (14:25 -0700)]
gallium/docs: Add lop table.

Was feeling kind of weird without it.

14 years agogallium/docs: Slight clarification and formatting for Blend.
Corbin Simpson [Wed, 23 Jun 2010 20:57:30 +0000 (13:57 -0700)]
gallium/docs: Slight clarification and formatting for Blend.

14 years agoMerge branch 'shader-file-reorg'
Brian Paul [Thu, 24 Jun 2010 04:30:26 +0000 (22:30 -0600)]
Merge branch 'shader-file-reorg'

1. Move all GL entrypoint functions and files into src/mesa/main/
This includes the ARB vp/vp, NV vp/fp, ATI fragshader and GLSL bits
that were in src/mesa/shader/

2. Move src/mesa/shader/slang/ to src/mesa/slang/ to reduce the tree depth

3. Rename src/mesa/shader/ to src/mesa/program/ since all the
remaining files are concerned with GPU programs.

4. Misc code refactoring.  In particular, I got rid of most of the
GLSL-related ctx->Driver hook functions.  None of the drivers used
them.

Conflicts:
src/mesa/drivers/dri/i965/brw_context.c

14 years agor300g: remove an XXX comment
Marek Olšák [Thu, 24 Jun 2010 04:15:36 +0000 (06:15 +0200)]
r300g: remove an XXX comment

14 years agor300g: move AA registers into the new AA state
Marek Olšák [Thu, 24 Jun 2010 03:54:18 +0000 (05:54 +0200)]
r300g: move AA registers into the new AA state

14 years agor300g: separate the cache flush from the framebuffer state
Marek Olšák [Thu, 24 Jun 2010 02:43:40 +0000 (04:43 +0200)]
r300g: separate the cache flush from the framebuffer state

14 years agor300g: reorder and cleanup register writes everywhere
Marek Olšák [Thu, 24 Jun 2010 01:52:45 +0000 (03:52 +0200)]
r300g: reorder and cleanup register writes everywhere

14 years agor300g: add "has HiZ" flag, add ZMask regs
Marek Olšák [Thu, 24 Jun 2010 01:02:50 +0000 (03:02 +0200)]
r300g: add "has HiZ" flag, add ZMask regs

14 years agonouveau: Remove reference to drm_api
Jakob Bornecrantz [Thu, 24 Jun 2010 00:36:30 +0000 (02:36 +0200)]
nouveau: Remove reference to drm_api

14 years agoi965g: Remove last references to drm_api
Jakob Bornecrantz [Thu, 24 Jun 2010 00:30:00 +0000 (02:30 +0200)]
i965g: Remove last references to drm_api

14 years agoswrastg: Use target-helpers
Jakob Bornecrantz [Wed, 23 Jun 2010 22:44:53 +0000 (00:44 +0200)]
swrastg: Use target-helpers

14 years agogallium: Use debugging helper in all drm targets
Jakob Bornecrantz [Wed, 23 Jun 2010 23:53:05 +0000 (01:53 +0200)]
gallium: Use debugging helper in all drm targets

14 years agogallium: Add debug target helper
Jakob Bornecrantz [Wed, 23 Jun 2010 22:50:08 +0000 (00:50 +0200)]
gallium: Add debug target helper

14 years agogallium: Fix scons build
Jakob Bornecrantz [Wed, 23 Jun 2010 21:51:52 +0000 (23:51 +0200)]
gallium: Fix scons build

14 years agogallium: Remove drm_api and all references to it
Jakob Bornecrantz [Wed, 23 Jun 2010 21:14:22 +0000 (23:14 +0200)]
gallium: Remove drm_api and all references to it

14 years agor600g: Move bootstrap code to target
Jakob Bornecrantz [Thu, 24 Jun 2010 00:10:18 +0000 (02:10 +0200)]
r600g: Move bootstrap code to target

14 years agogallium/docs: document TGSI_SEMANTIC_EDGEFLAG
Brian Paul [Wed, 23 Jun 2010 23:38:58 +0000 (17:38 -0600)]
gallium/docs: document TGSI_SEMANTIC_EDGEFLAG

14 years agogallium/docs: update TEXTURE_SHADOW_MAP MAX_PREDICATE_REGISTERS
Brian Paul [Wed, 23 Jun 2010 23:38:42 +0000 (17:38 -0600)]
gallium/docs: update TEXTURE_SHADOW_MAP MAX_PREDICATE_REGISTERS

14 years agogallium/docs: fix definitions of TGSI_SEMANTIC_POSITION, COLOR
Brian Paul [Wed, 23 Jun 2010 23:00:10 +0000 (17:00 -0600)]
gallium/docs: fix definitions of TGSI_SEMANTIC_POSITION, COLOR

14 years agodraw: use gallium's TRUE/FALSE
Brian Paul [Wed, 23 Jun 2010 17:32:08 +0000 (11:32 -0600)]
draw: use gallium's TRUE/FALSE

14 years agollvmpipe: Remove unnecessary header.
Vinson Lee [Wed, 23 Jun 2010 22:17:00 +0000 (15:17 -0700)]
llvmpipe: Remove unnecessary header.

14 years agonouveau: Move bootstrap code to targets
Jakob Bornecrantz [Wed, 23 Jun 2010 21:03:28 +0000 (23:03 +0200)]
nouveau: Move bootstrap code to targets

Well sorta, at least I removed the drm_api dependancy and the
target can layer anything it wants to now.

14 years agonouveau: Rename winsys file
Jakob Bornecrantz [Wed, 23 Jun 2010 20:49:11 +0000 (22:49 +0200)]
nouveau: Rename winsys file

14 years agoglhd: Simple rasterizer checks.
Corbin Simpson [Wed, 23 Jun 2010 18:34:51 +0000 (11:34 -0700)]
glhd: Simple rasterizer checks.

From the documentation.

14 years agoid, glhd: Unbreak texturing.
Corbin Simpson [Wed, 23 Jun 2010 18:25:52 +0000 (11:25 -0700)]
id, glhd: Unbreak texturing.

Argfl.

14 years agoglhd: Use an environment variable (GALAHAD) to enable. Off by default.
Corbin Simpson [Wed, 23 Jun 2010 18:06:42 +0000 (11:06 -0700)]
glhd: Use an environment variable (GALAHAD) to enable. Off by default.

14 years agodraw: don't try to precalculate the pipeline output primitive
Keith Whitwell [Wed, 23 Jun 2010 17:06:52 +0000 (18:06 +0100)]
draw: don't try to precalculate the pipeline output primitive

We were previously calculating a value which was either the geometry
shader output primitive or the application's input primitive, and
passing that to the various front/middle/back components for use as
the ultimate rendering primtive.

Unfortunately, this was not correct -- if the vcache decomposition
path is active and geometry shaders are *not* active, we can end up
with a third primitive -- specifically the decomposed version of the
input primitive.

Rather than trying to precalculate this, just let the individual
components inform their successors about which primitive type they are
recieving.

14 years agodraw: mask off DRAW_PIPE_FLAG_MASK bits in prim decompose code
Brian Paul [Wed, 23 Jun 2010 15:19:18 +0000 (09:19 -0600)]
draw: mask off DRAW_PIPE_FLAG_MASK bits in prim decompose code

Any elt may potentially have flags bits set so mask off those bits
everywhere.

Fixes crashes with demos/gamma.c, redbook/polys.c, etc. but polygon
stippling is still broken.

14 years agoegl: Add a test for MESA_EGL_NO_X11_HEADERS.
Chia-I Wu [Fri, 18 Jun 2010 16:21:39 +0000 (00:21 +0800)]
egl: Add a test for MESA_EGL_NO_X11_HEADERS.

When the macro is defined, X11 headers will not be included.

14 years agoegl: Add support for EGL_MESA_drm_display.
Chia-I Wu [Thu, 17 Jun 2010 09:09:01 +0000 (17:09 +0800)]
egl: Add support for EGL_MESA_drm_display.

The extension defines eglGetDRMDisplay that creates an EGLDisplay from a
DRM fd.  Calling eglCreateWindowSurace or eglCreatePixmapSurface with
such displays will generate EGL_BAD_NATIVE_WINDOW or
EGL_BAD_NATIVE_PIXMAP.

14 years agoegl: Introduce platform displays internally.
Chia-I Wu [Thu, 17 Jun 2010 09:14:03 +0000 (17:14 +0800)]
egl: Introduce platform displays internally.

This commit introduces type-safe platform displays internally.  A
platform display consists of a generic pointer and an enum that
specifies the platform.

An EGLDisplay is created from a platform display.  Native displays
become platform displays whose platform is determined by
_eglGetNativePlatform().  Platform windows and pixmaps may also be
introduced if needed.

14 years agoradeong: Disable Galahad for now; breaks texturing.
Corbin Simpson [Wed, 23 Jun 2010 07:11:42 +0000 (00:11 -0700)]
radeong: Disable Galahad for now; breaks texturing.

14 years agoid, glhd: Fix malloc/calloc of struct.
Corbin Simpson [Wed, 23 Jun 2010 06:40:11 +0000 (23:40 -0700)]
id, glhd: Fix malloc/calloc of struct.

( >&)