mesa.git
14 years agomesa/st: Remove internal flushes from Mesa state tracker.
José Fonseca [Tue, 11 May 2010 12:57:11 +0000 (13:57 +0100)]
mesa/st: Remove internal flushes from Mesa state tracker.

Now that transfers are context operations it is the driver's
responsibility to ensure that transfers happen in order with all other
context operations, so flushes and finishes inside Mesa should be no
longer necessary. The attached patch implements that.

This should proportionate significant improvements for hardware drivers
which are able to stream transfers in the command buffers.

You can use the softpipe/llvmpipe_flush_resource() as reference
implementation of the worst case scenario, where the driver is not able
to streamline transfers. But the expectation is that driver
implementators will want to avoid flushing as much as possible.

14 years agotests/graw: raw -> graw
José Fonseca [Mon, 10 May 2010 23:36:15 +0000 (00:36 +0100)]
tests/graw: raw -> graw

for consistency

14 years agomesa: s/uint/GLuint/ in _mesa_BindTransformFeedback prototype.
Vinson Lee [Tue, 11 May 2010 05:58:23 +0000 (22:58 -0700)]
mesa: s/uint/GLuint/ in _mesa_BindTransformFeedback prototype.

From http://www.opengl.org/registry/api/glext.h
GLAPI void APIENTRY glBindTransformFeedback (GLenum target, GLuint id);

Fixes MinGW build.

14 years agogallium: Add llvmpipe support to st/egl.
Chia-I Wu [Tue, 11 May 2010 04:36:49 +0000 (12:36 +0800)]
gallium: Add llvmpipe support to st/egl.

Update Makefile rules for st/egl.

14 years agomesa: more transform feedback infrastructure
Brian Paul [Tue, 11 May 2010 03:11:21 +0000 (21:11 -0600)]
mesa: more transform feedback infrastructure

Includes GL_ARB_transform_feedback2 which encapsulates transform feedback
state in objects.

14 years agointel: Also flush front buffer in glFinish()
Kristian Høgsberg [Tue, 11 May 2010 01:10:24 +0000 (21:10 -0400)]
intel: Also flush front buffer in glFinish()

14 years agollvmpipe: enable PIPE_CAP_INDEP_BLEND_ENABLE
Brian Paul [Mon, 10 May 2010 23:03:10 +0000 (17:03 -0600)]
llvmpipe: enable PIPE_CAP_INDEP_BLEND_ENABLE

This enables the GL_EXT_draw_buffers2 extension.
Tested with progs/tests/drawbuffers2.

14 years agollvmpipe: fix up indexing of blend/colormask state for render targets
Brian Paul [Mon, 10 May 2010 23:02:06 +0000 (17:02 -0600)]
llvmpipe: fix up indexing of blend/colormask state for render targets

14 years agollvmpipe: update image dump/debug code
Brian Paul [Mon, 10 May 2010 22:45:25 +0000 (16:45 -0600)]
llvmpipe: update image dump/debug code

14 years agollvmpipe: add, update, rewrap comments
Brian Paul [Mon, 10 May 2010 22:01:09 +0000 (16:01 -0600)]
llvmpipe: add, update, rewrap comments

14 years agogallivm/llvmpipe: move an old comment to a better location
Brian Paul [Mon, 10 May 2010 21:41:22 +0000 (15:41 -0600)]
gallivm/llvmpipe: move an old comment to a better location

14 years agost/mesa: rename vars, added comments
Brian Paul [Mon, 10 May 2010 19:46:39 +0000 (13:46 -0600)]
st/mesa: rename vars, added comments

14 years agoi915: Drop intelFlush().
Vinson Lee [Mon, 10 May 2010 22:41:22 +0000 (15:41 -0700)]
i915: Drop intelFlush().

This was missed in commit c4775a27e3aaa2006b98f225387499b79bc609ef.
Fixes i915 build.

14 years agointel: Drop intelFlush()
Kristian Høgsberg [Mon, 10 May 2010 21:42:43 +0000 (17:42 -0400)]
intel: Drop intelFlush()

Now that intel_flush() deosn't use the needs_mi_flush argument, we can
finally drop one of the two flush functions.

14 years agointel: Only flush fake front buffer on API level glFlush()
Kristian Høgsberg [Mon, 10 May 2010 20:18:55 +0000 (16:18 -0400)]
intel: Only flush fake front buffer on API level glFlush()

Without this patch, any old intel_flush() call will cause a round trip to
the server and do a copy from fake to real front.  We only actually
guarantee that frontbuffer results show up when glFlush() ia called, so
move the flushing to intel_glFlush().

We also need to flush fake to front before getting new buffers, but
we just handle that manually.

14 years agointel: Don't mark front buffer dirty if we're only reading
Kristian Høgsberg [Mon, 10 May 2010 20:01:38 +0000 (16:01 -0400)]
intel: Don't mark front buffer dirty if we're only reading

When we call intel_prepare_render() from intelReadPixels(), we'll mark
the front buffer dirty.  That's silly, since we're only reading from it
and marking it dirty will cause us to copy from fake front to front
eventually.

Just clear the dirty flag after doing the read.

14 years agointel: Mark frontbuffer dirty in intel_prepare_render()
Kristian Høgsberg [Mon, 10 May 2010 19:58:06 +0000 (15:58 -0400)]
intel: Mark frontbuffer dirty in intel_prepare_render()

Now that we have intel_prepare_render() in place, we can use it to mark
the front buffer dirty if we're rendering to the front buffer once we
get there.

14 years agoglx: Only call DRI2 invalidate when necessary
Kristian Høgsberg [Mon, 10 May 2010 19:51:31 +0000 (15:51 -0400)]
glx: Only call DRI2 invalidate when necessary

We only need this when the server may have swapped the buffers or
when we receive an invalidate event from the server.  The default
behaviour is still that the DRI driver will invalidate its own buffers
when glViewport is called.

https://bugs.freedesktop.org/show_bug.cgi?id=27277

14 years agosvga: Fill in is_resource_referenced callback.
José Fonseca [Mon, 10 May 2010 20:20:26 +0000 (21:20 +0100)]
svga: Fill in is_resource_referenced callback.

14 years agogallivm: Silent warning.
José Fonseca [Mon, 10 May 2010 16:10:02 +0000 (17:10 +0100)]
gallivm: Silent warning.

14 years agogallivm: Add missing lvalue.
José Fonseca [Sun, 9 May 2010 18:00:50 +0000 (19:00 +0100)]
gallivm: Add missing lvalue.

14 years agost/mesa: only set prevInstWrotePsiz if translating a vertex program
Brian Paul [Mon, 10 May 2010 18:35:27 +0000 (12:35 -0600)]
st/mesa: only set prevInstWrotePsiz if translating a vertex program

14 years agost/mesa: additional assertions in dst_register()
Brian Paul [Mon, 10 May 2010 18:31:35 +0000 (12:31 -0600)]
st/mesa: additional assertions in dst_register()

14 years agoi965g: link with software- wrapper winsys and drm api helper
Jakob Bornecrantz [Mon, 10 May 2010 16:03:46 +0000 (17:03 +0100)]
i965g: link with software- wrapper winsys and drm api helper

14 years agogallium: Add software drm api helper to scons build
Jakob Bornecrantz [Mon, 10 May 2010 16:03:13 +0000 (17:03 +0100)]
gallium: Add software drm api helper to scons build

14 years agogallium: Add pipe wrapper software winsys to scons build
Jakob Bornecrantz [Mon, 10 May 2010 16:02:15 +0000 (17:02 +0100)]
gallium: Add pipe wrapper software winsys to scons build

14 years agoi965g: fix resource creation recursion bug
Roland Scheidegger [Mon, 10 May 2010 15:42:28 +0000 (17:42 +0200)]
i965g: fix resource creation recursion bug

14 years agoi965g: add brw_state_debug.c to SConscript
Roland Scheidegger [Mon, 10 May 2010 15:42:12 +0000 (17:42 +0200)]
i965g: add brw_state_debug.c to SConscript

14 years agoi965g: avoid void * arithmetic
Roland Scheidegger [Mon, 10 May 2010 15:40:44 +0000 (17:40 +0200)]
i965g: avoid void * arithmetic

14 years agogallivm: Temporarily disable custom LLVMDumpValue on MSVC.
José Fonseca [Mon, 10 May 2010 13:43:47 +0000 (14:43 +0100)]
gallivm: Temporarily disable custom LLVMDumpValue on MSVC.

Seeing very weird crashes during std::cout initialization.

The fault probably lies in the way I build LLVM on MSVC, but disable for
now to allow more time to investigate.

14 years agogallivm: cosf/sinf are macros on MSVC.
José Fonseca [Mon, 10 May 2010 07:30:28 +0000 (08:30 +0100)]
gallivm: cosf/sinf are macros on MSVC.

So taking the function address does not work.

14 years agomesa: Update comments in get_gen_es.py.
Vinson Lee [Mon, 10 May 2010 05:22:53 +0000 (22:22 -0700)]
mesa: Update comments in get_gen_es.py.

14 years agoswrast: fix 16-bit/channel rendering
Brian Paul [Mon, 10 May 2010 04:08:54 +0000 (22:08 -0600)]
swrast: fix 16-bit/channel rendering

NOTE: This is a candidate for the 7.8 stable branch

14 years agoosmesa: use unsigned 16-bit/channel format
Brian Paul [Mon, 10 May 2010 04:08:33 +0000 (22:08 -0600)]
osmesa: use unsigned 16-bit/channel format

14 years agoosmesa: add mapi/glapi to SRC_DIRS to fix build
Brian Paul [Mon, 10 May 2010 03:13:54 +0000 (21:13 -0600)]
osmesa: add mapi/glapi to SRC_DIRS to fix build

14 years agomesa: fix typos, comment in signed 16-bit tex fetch code
Brian Paul [Mon, 10 May 2010 00:31:05 +0000 (18:31 -0600)]
mesa: fix typos, comment in signed 16-bit tex fetch code

14 years agomesa: added unsigned 16-bit/channel tex format
Brian Paul [Mon, 10 May 2010 01:28:10 +0000 (19:28 -0600)]
mesa: added unsigned 16-bit/channel tex format

14 years agomesa: added comments for signed 16-bit formats
Brian Paul [Mon, 10 May 2010 01:21:53 +0000 (19:21 -0600)]
mesa: added comments for signed 16-bit formats

14 years agomesa: use GL_RGBA16_SNORM for accum buffer
Brian Paul [Mon, 10 May 2010 00:42:14 +0000 (18:42 -0600)]
mesa: use GL_RGBA16_SNORM for accum buffer

14 years agomesa: added texstore function for signed 16-bit formats
Brian Paul [Mon, 10 May 2010 00:32:32 +0000 (18:32 -0600)]
mesa: added texstore function for signed 16-bit formats

14 years agomesa: added UNCLAMPED_FLOAT_TO_SHORT macro
Brian Paul [Mon, 10 May 2010 01:25:52 +0000 (19:25 -0600)]
mesa: added UNCLAMPED_FLOAT_TO_SHORT macro

14 years agomesa: add missing cases for signed 16-bit formats
Brian Paul [Mon, 10 May 2010 00:30:03 +0000 (18:30 -0600)]
mesa: add missing cases for signed 16-bit formats

14 years agost/mesa: Ignore internal_format in st_context_teximage.
Chia-I Wu [Fri, 7 May 2010 09:34:15 +0000 (17:34 +0800)]
st/mesa: Ignore internal_format in st_context_teximage.

When internal_format and tex->format differ, st_finailize_texture will
surface_copy between surfaces with different formats.  This commit works
around the issue by ignoring internal_format.  A sane fix is needed
here.

14 years agogallivm: Add an alternative to LLVMDumpValue that works with Windows GUI apps.
José Fonseca [Sat, 8 May 2010 22:23:41 +0000 (23:23 +0100)]
gallivm: Add an alternative to LLVMDumpValue that works with Windows GUI apps.

14 years agogallivm: Fix mipfiltering with negative lod bias.
José Fonseca [Sat, 8 May 2010 22:16:38 +0000 (23:16 +0100)]
gallivm: Fix mipfiltering with negative lod bias.

In particular, don't use the clamped lod to compute level + 1, or
lod in [-1, 0] range will actually interpolate with level 1.

This makes Mipfilter DCT pass 100%.

14 years agogallivm: Actually do floor/ceil/trunc for scalars.
José Fonseca [Sat, 8 May 2010 22:07:09 +0000 (23:07 +0100)]
gallivm: Actually do floor/ceil/trunc for scalars.

Also start axing the code duplication for scalar case. The olution is to
treat the scalar case specially in a few innermost functions, and leave
outer functions untouched.

14 years agogallivm: Import the code to compute the minimax polynomials.
José Fonseca [Sat, 8 May 2010 20:44:58 +0000 (21:44 +0100)]
gallivm: Import the code to compute the minimax polynomials.

It's quite a pain to remember the details after a while, and it is quite
likely we'll want to use this again, either for different polynomial
orders or different functions, so commit it here.

14 years agogallivm: Use a minimax polynomial for exp2 in range [0,1] instead [-0.5,5].
José Fonseca [Sat, 8 May 2010 20:42:55 +0000 (21:42 +0100)]
gallivm: Use a minimax polynomial for exp2 in range [0,1] instead [-0.5,5].

The advantage of range[-0.5, 0.5] is that it doesn't require floor (for
which intrinsics are only available in SSE4.1).

But the EXP opcode pretty much forces us to use floor, and there is a
good floor approximation around truncation available anyway.

This fixes EXP failures in VShader DCT.

14 years agogallivm: Don't hardcode number of args twice.
José Fonseca [Sat, 8 May 2010 18:26:55 +0000 (19:26 +0100)]
gallivm: Don't hardcode number of args twice.

14 years agor300g: follow pipe_rasterizer_state::light_twoside
Marek Olšák [Sat, 8 May 2010 20:50:49 +0000 (22:50 +0200)]
r300g: follow pipe_rasterizer_state::light_twoside

14 years agor300g: follow pipe_rasterizer_state::point_size_per_vertex
Marek Olšák [Sat, 8 May 2010 20:20:39 +0000 (22:20 +0200)]
r300g: follow pipe_rasterizer_state::point_size_per_vertex

14 years agor300g: move GA_POINT_MINMAX back to rs_state
Marek Olšák [Sat, 8 May 2010 18:52:24 +0000 (20:52 +0200)]
r300g: move GA_POINT_MINMAX back to rs_state

This basically reverts commit 74f94e8fdfe035fa68acdc19e6b0afc2957a4264.

14 years agor300g: fix glean/pointSprite using lodbias correction
Marek Olšák [Sat, 8 May 2010 17:51:48 +0000 (19:51 +0200)]
r300g: fix glean/pointSprite using lodbias correction

14 years agor300g: pass depth texture swizzle to the compiler if compare mode is enabled
Marek Olšák [Sat, 8 May 2010 16:51:03 +0000 (18:51 +0200)]
r300g: pass depth texture swizzle to the compiler if compare mode is enabled

14 years agor300g: respect compare mode regardless of sampler type
Marek Olšák [Sat, 8 May 2010 03:59:28 +0000 (05:59 +0200)]
r300g: respect compare mode regardless of sampler type

14 years agor300/compiler: fake equal/notequal for shadow samplers
Marek Olšák [Sat, 8 May 2010 03:26:31 +0000 (05:26 +0200)]
r300/compiler: fake equal/notequal for shadow samplers

This is actually better than a real implementation, which would be useless
due to inaccuracy (I know because I've tried to implement it).

14 years agor300/compiler: use perspective division only for TXP in shadow samplers
Marek Olšák [Sat, 8 May 2010 02:00:38 +0000 (04:00 +0200)]
r300/compiler: use perspective division only for TXP in shadow samplers

14 years agor300/compiler: make shadow sampler codegen more readable, add comments
Marek Olšák [Sat, 8 May 2010 01:39:35 +0000 (03:39 +0200)]
r300/compiler: make shadow sampler codegen more readable, add comments

14 years agor300/compiler: shorten RC_*SWIZZLE* expressions
Marek Olšák [Fri, 7 May 2010 23:34:38 +0000 (01:34 +0200)]
r300/compiler: shorten RC_*SWIZZLE* expressions

14 years agor300/compiler: generalize depth texture mode to support arbitrary swizzles
Marek Olšák [Fri, 7 May 2010 23:19:59 +0000 (01:19 +0200)]
r300/compiler: generalize depth texture mode to support arbitrary swizzles

14 years agor300/compiler: fix LIT instruction case 0^0 = 1
Marek Olšák [Fri, 7 May 2010 17:25:11 +0000 (19:25 +0200)]
r300/compiler: fix LIT instruction case 0^0 = 1

14 years agor300g: consolidate common render code into one function
Marek Olšák [Fri, 7 May 2010 19:46:09 +0000 (21:46 +0200)]
r300g: consolidate common render code into one function

This reduces redundant code by moving:
- CS space reservation
- buffer validation
- dirty state emission
- index bias emission
- AOS emission
into r300_prepare_for_rendering.

14 years agogallivm: The the JIT engine to use our sinf()/cosf() on Windows.
José Fonseca [Sat, 8 May 2010 17:36:22 +0000 (18:36 +0100)]
gallivm: The the JIT engine to use our sinf()/cosf() on Windows.

A quick hack to get the right results, as there are many DCT tests
which use these opcodes to generate data to test other opcodes.

14 years agogallivm: Fix BREAK/CONT translation.
José Fonseca [Sat, 8 May 2010 15:17:09 +0000 (16:17 +0100)]
gallivm: Fix BREAK/CONT translation.

The cont_mask must be restored and exec mask recomputed in order to decide
whether to repeat the loop or not.

Unlike the continue mask, the break_mask must be preserved across loop
iterations.

Fixes several VShader DCT cases, and no regressions with glean.

14 years agollvmpipe: Cover more formats in unit test.
José Fonseca [Sat, 8 May 2010 12:18:14 +0000 (13:18 +0100)]
llvmpipe: Cover more formats in unit test.

14 years agogallivm: Fix segfaul when inserting allocas in an empty function.
José Fonseca [Sat, 8 May 2010 12:02:46 +0000 (13:02 +0100)]
gallivm: Fix segfaul when inserting allocas in an empty function.

14 years agogallivm: Centralize SoA swizzling into a single place.
José Fonseca [Sat, 8 May 2010 11:52:50 +0000 (12:52 +0100)]
gallivm: Centralize SoA swizzling into a single place.

14 years agogallivm: Support predicates.
José Fonseca [Sat, 8 May 2010 11:50:52 +0000 (12:50 +0100)]
gallivm: Support predicates.

14 years agollvmpipe: Match p_screen.h's function prototype.
José Fonseca [Fri, 7 May 2010 18:35:10 +0000 (19:35 +0100)]
llvmpipe: Match p_screen.h's function prototype.

14 years agoUpdate file list for the tarballs.
Chia-I Wu [Fri, 7 May 2010 14:09:45 +0000 (22:09 +0800)]
Update file list for the tarballs.

Mainly for the recent work on mapi and gles.  The latter adds some
sources to src/mesa/main that are generated on the fly.  This makes
python a requirement for building Mesa.  An alternative is to package
those sources into the tarballs.  That may be done in another commit.

14 years agollvmpipe: Remove unnecessary header.
Vinson Lee [Sat, 8 May 2010 07:37:38 +0000 (00:37 -0700)]
llvmpipe: Remove unnecessary header.

14 years agodocs: Update EGL and OpenGL ES docs.
Chia-I Wu [Fri, 7 May 2010 06:13:08 +0000 (14:13 +0800)]
docs: Update EGL and OpenGL ES docs.

Update to reflect recent gles and mapi works.

14 years agoegl: Build drivers in $(TOP)/$(LIB_DIR)/egl.
Chia-I Wu [Fri, 7 May 2010 07:42:32 +0000 (15:42 +0800)]
egl: Build drivers in $(TOP)/$(LIB_DIR)/egl.

There are enough EGL modules that they deserve a subdirectory, to avoid
polluting $(TOP)/$(LIB_DIR).

14 years agogallium: Add egl-apis target.
Chia-I Wu [Wed, 5 May 2010 07:38:02 +0000 (15:38 +0800)]
gallium: Add egl-apis target.

The new target installs client API modules to EGL_DRIVER_INSTALL_DIR.
They are used by st/egl.

The client APIs are built from OpenGL and OpenVG state trackers.  For
this to work, st/vega is modified to produce a static library,
libvega.a, instead.  st/es is also not needed any more.  It is removed
and --with-state-trackers=es is replaced by --enable-gles-overlay.

As st/egl now has its own client API modules, this solves the ABI issue
between st/egl and client APIs, as long as the client API modules are
distributed with st/egl.  Plus, this allows st/egl to support OpenGL
with non-Gallium libGL.so.

14 years agomapi: Add install rules for OpenGL ES.
Chia-I Wu [Thu, 6 May 2010 02:46:51 +0000 (10:46 +0800)]
mapi: Add install rules for OpenGL ES.

Move the install rules for OpenGL ES from src/mesa/Makefile to mapi.

14 years agomapi: Install .pc file for OpenVG.
Chia-I Wu [Thu, 6 May 2010 03:03:00 +0000 (11:03 +0800)]
mapi: Install .pc file for OpenVG.

14 years agomapi: Update vgapi to build libOpenVG.so.
Chia-I Wu [Wed, 5 May 2010 10:37:35 +0000 (18:37 +0800)]
mapi: Update vgapi to build libOpenVG.so.

Unlike the one produced by st/vega, this is a dispatch-only library.

14 years agomapi: Merge src/gles/.
Chia-I Wu [Wed, 5 May 2010 10:56:31 +0000 (18:56 +0800)]
mapi: Merge src/gles/.

Remove src/gles and have mapi/{es1api,es2api} build libGLESv1_CM.so and
libGLESv2.so.

14 years agoDefine OpenGL ES and OpenVG library names.
Chia-I Wu [Tue, 4 May 2010 14:43:05 +0000 (22:43 +0800)]
Define OpenGL ES and OpenVG library names.

Define <API>_LIB, <API>_LIB_NAME, <API>_LIB_GLOB, and some other
variables in the configs.  Fix a typo in glesv1_cm.pc.in where an
inexistent variable is used.

14 years agoegl_g3d: Check external modules for client APIs first.
Chia-I Wu [Wed, 5 May 2010 10:27:29 +0000 (18:27 +0800)]
egl_g3d: Check external modules for client APIs first.

dlopen api_<API>.so before dlopening the process itself in case the
client APIs are implemented in external modules.

14 years agoegl: Add _eglSearchPathForEach.
Chia-I Wu [Wed, 5 May 2010 09:37:19 +0000 (17:37 +0800)]
egl: Add _eglSearchPathForEach.

The function can be used by a driver to check each search path of EGL.

14 years agogallium/draw: additional comments in the clipping code
Brian Paul [Fri, 7 May 2010 23:13:16 +0000 (17:13 -0600)]
gallium/draw: additional comments in the clipping code

14 years agomesa: remove driver hooks for GetFloat/Integer/Doublev, etc
Brian Paul [Fri, 7 May 2010 23:10:03 +0000 (17:10 -0600)]
mesa: remove driver hooks for GetFloat/Integer/Doublev, etc

Once upon a time some drivers hooked into these for GL_HP_occlusion_test
and GL_OES_read_format.  They're not being used anymore so get rid of them.

14 years agoglx: Get GLX_SCREEN first in __glXQueryContextInfo()
Kristian Høgsberg [Fri, 7 May 2010 22:38:35 +0000 (18:38 -0400)]
glx: Get GLX_SCREEN first in __glXQueryContextInfo()

And lookup the GLX screen for the context.  Otherwise we'll end up
jumping through a NULL-pointer once we try to look up the visual
or config for the shared context.

https://bugs.freedesktop.org/show_bug.cgi?id=14245

14 years agomesa: fpclassify dummy definition is not needed on cygwin
Jon TURNEY [Fri, 7 May 2010 17:59:53 +0000 (18:59 +0100)]
mesa: fpclassify dummy definition is not needed on cygwin

fpclassify is provided by math.h

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Brian Paul <brianp@vmware.com>
14 years agotgis: fix SOA aliasing for MUL instruction in SSE codegen
Brian Paul [Fri, 7 May 2010 16:40:55 +0000 (10:40 -0600)]
tgis: fix SOA aliasing for MUL instruction in SSE codegen

Part of a fix for piglit trinity-fp1 test failure.

14 years agoapple: Move glapi to mapi.
Vinson Lee [Fri, 7 May 2010 06:39:33 +0000 (23:39 -0700)]
apple: Move glapi to mapi.

This was missed in commit 296adbd545b8efd38c9ed508166b2de2764a444b.
Fixes darwin build.

14 years agomapi/glapi: Don't allocate a page for every function on windows.
José Fonseca [Fri, 7 May 2010 06:31:44 +0000 (07:31 +0100)]
mapi/glapi: Don't allocate a page for every function on windows.

14 years agomapi: Avoid Data Execution Prevention on windows.
José Fonseca [Fri, 7 May 2010 05:57:11 +0000 (06:57 +0100)]
mapi: Avoid Data Execution Prevention on windows.

14 years agowgl: Add mapi to includes.
José Fonseca [Fri, 7 May 2010 05:45:20 +0000 (06:45 +0100)]
wgl: Add mapi to includes.

14 years agomapi: Add x86-64 dispatcher.
Chia-I Wu [Thu, 22 Apr 2010 08:22:13 +0000 (16:22 +0800)]
mapi: Add x86-64 dispatcher.

14 years agomapi: Add x86 dispatcher.
Chia-I Wu [Thu, 22 Apr 2010 07:33:43 +0000 (15:33 +0800)]
mapi: Add x86 dispatcher.

14 years agost/vega: Use vgapi.
Chia-I Wu [Fri, 16 Apr 2010 10:12:37 +0000 (18:12 +0800)]
st/vega: Use vgapi.

Rename vgFooBar to vegaFooBar and use vgapi as the dispatcher.  This
makes sure there is always a current context when the internal functions
are called.  And eglGetProcAddress is finally supported.

14 years agomapi: Add vgapi.
Chia-I Wu [Mon, 26 Apr 2010 08:48:59 +0000 (16:48 +0800)]
mapi: Add vgapi.

vgapi is a dispatcher for OpenVG.

14 years agomapi: Add a generic C dispatcher.
Chia-I Wu [Fri, 23 Apr 2010 08:07:47 +0000 (16:07 +0800)]
mapi: Add a generic C dispatcher.

The idea is to have an API generate a header using mapi_abi.py.  The API
can then use the header to build a dispatcher.

14 years agomapi: Add mapi and share the code with glapi.
Chia-I Wu [Fri, 23 Apr 2010 08:06:26 +0000 (16:06 +0800)]
mapi: Add mapi and share the code with glapi.

Specifically, move all or most of

      glapi/glapi.c         to mapi/u_current.c,
      glapi/glapi_execmem.c to mapi/u_execmem.c,
      glapi/glthread.[ch]   to mapi/u_thread.[ch]

and remove their dependencies on core Mesa headers.

14 years agoglapi: Move to src/mapi/.
Chia-I Wu [Mon, 26 Apr 2010 04:56:44 +0000 (12:56 +0800)]
glapi: Move to src/mapi/.

Move glapi to src/mapi/{glapi,es1api,es2api}.

14 years agoglapi: Move assembly dispatchers back into glapi/.
Chia-I Wu [Mon, 26 Apr 2010 04:47:07 +0000 (12:47 +0800)]
glapi: Move assembly dispatchers back into glapi/.

14 years agogallivm: Require SSE2 for draw_llvm/llvmpipe due to LLVM PR6960.
Török Edwin [Thu, 6 May 2010 21:19:57 +0000 (22:19 +0100)]
gallivm: Require SSE2 for draw_llvm/llvmpipe due to LLVM PR6960.

Note that this also requires X86 for llvm, if llvmpipe/draw_llvm works
on PPC then the condition should be extended to include && x86.

Signed-off-by: Török Edwin <edwintorok@gmail.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
14 years agosoftpipe: fix dangling references to shaders in the TGSI executor
Brian Paul [Thu, 6 May 2010 21:10:51 +0000 (15:10 -0600)]
softpipe: fix dangling references to shaders in the TGSI executor

If a shader was bound to the fragment shader TGSI executor and it was
then deleted and a new shader was allocated at the same address as the
old shader, the new fragment shader would not get properly bound to
the TGSI machine and we'd wind up using the old one.

This would not have been a problem if shaders were refcounted.

Now the TGSI machine is owned by the context rather than the quad
pipeline's shader stage so that the softpipe_delete_fs_state()
function can access it.

Fixes sporadic failures of the piglit fp-long-alu test (fd.o bug 27989).