mesa.git
15 years agoradeon: Port flush preventation code from r200 to r100.
Pauli Nieminen [Wed, 12 Aug 2009 17:28:54 +0000 (20:28 +0300)]
radeon: Port flush preventation code from r200 to r100.

- emit prediction
- fixes to emit_sizes for data
- clean up of excesive use of radeonEnsureCmdBufferSpace

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
15 years agor200: Make swtcl use state size prediction for flush.
Pauli Nieminen [Tue, 11 Aug 2009 22:40:17 +0000 (01:40 +0300)]
r200: Make swtcl use state size prediction for flush.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
15 years agor200: Remove unnecessery Elts from r200 context.
Pauli Nieminen [Tue, 11 Aug 2009 22:12:23 +0000 (01:12 +0300)]
r200: Remove unnecessery Elts from r200 context.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
15 years agor200: Remove unnecessary calls to rcommonEnsureCmdBufSpace.
Pauli Nieminen [Tue, 11 Aug 2009 21:13:00 +0000 (00:13 +0300)]
r200: Remove unnecessary calls to rcommonEnsureCmdBufSpace.

Calling EnsureCmdBufSpace is not required because rendering pipeline has to quarentee free space.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
15 years agor200: Fix atom->check call to return emit size for atom.
Pauli Nieminen [Tue, 11 Aug 2009 21:05:24 +0000 (00:05 +0300)]
r200: Fix atom->check call to return emit size for atom.

This patch makes render emit size prediction count the corect maximum emit size
for state.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
15 years agor200: Prevent flush in middle of rendering.
Pauli Nieminen [Tue, 11 Aug 2009 20:43:35 +0000 (23:43 +0300)]
r200: Prevent flush in middle of rendering.

Patch adds prediction functionthat tries to predict emit size to the smallest
possible values that is quarenteed to be higher than worst case scenario in
rendering pipeline.

State emit size prediction code is in place but fix for emit sizes is included
in next patch.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
15 years agoradeon/r200: Add -Wall to default build flags like it is in r300/r600
Pauli Nieminen [Fri, 7 Aug 2009 16:35:55 +0000 (19:35 +0300)]
radeon/r200: Add -Wall to default build flags like it is in r300/r600

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
15 years agoglx: Make drawables persistent untill they are changed by glXMakeCurrent
Pauli Nieminen [Mon, 3 Aug 2009 22:39:37 +0000 (01:39 +0300)]
glx: Make drawables persistent untill they are changed by glXMakeCurrent

This fixes bug that xdemos/manywin would segfault if it was run with command
./manywin 2. Demo is tring to call glXSwapBuffers while another context was
bind using glXMakeCurrent.

Fix is simple makes drawable and readable persistent untill they change or
context is destroyed.

I found a logic error when same dri context is used for multiple drawables
which caused readable and drawable to fall out of sync in special case. Fix
is simple just updating  drawables more often than in original patch.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
15 years agoegl: Make _eglChooseDriver return the filename of the driver.
Chia-I Wu [Fri, 21 Aug 2009 05:55:30 +0000 (13:55 +0800)]
egl: Make _eglChooseDriver return the filename of the driver.

The real difference is that the driver suffix is now appended.  This
also fixes an annoying bug that EGL_DRIVER could not specify the path to
a driver because a suffix was always appended.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl: Remove dependency on libX11.
Chia-I Wu [Fri, 21 Aug 2009 05:53:36 +0000 (13:53 +0800)]
egl: Remove dependency on libX11.

libX11 is used to determine the screen number, which is in turned used
to determine the DRI driver.  However, the sysfs interface for
determining the DRI driver is gone, and no working driver depends on
this mechanism.

Display string parsing is moved to a new function,
_eglSplitDisplayString.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl_softpipe: Do not flush unlinked context.
Chia-I Wu [Thu, 20 Aug 2009 11:35:28 +0000 (19:35 +0800)]
egl_softpipe: Do not flush unlinked context.

An unlinked context is destroyed after _eglMakeCurrent.  Flushing such
context would cause segfault.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl: Check for null display in handle checking.
Chia-I Wu [Wed, 19 Aug 2009 05:00:25 +0000 (13:00 +0800)]
egl: Check for null display in handle checking.

The display may be NULL when checking a handle.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agost/egl: Add support for drmModeDirtyFB command if found
Jakob Bornecrantz [Fri, 21 Aug 2009 13:02:48 +0000 (15:02 +0200)]
st/egl: Add support for drmModeDirtyFB command if found

15 years agoradeon: Add comment to explain logic for freeing dma buffers.
Pauli Nieminen [Thu, 20 Aug 2009 15:57:35 +0000 (18:57 +0300)]
radeon: Add comment to explain logic for freeing dma buffers.

15 years agor600: convert to using common radeon state atoms
Alex Deucher [Thu, 20 Aug 2009 22:55:41 +0000 (18:55 -0400)]
r600: convert to using common radeon state atoms

switches more state handling to common code.  We need
should be more fine grained with the state atoms
eventually.

15 years agor600: improve state emission
Alex Deucher [Thu, 20 Aug 2009 21:20:27 +0000 (17:20 -0400)]
r600: improve state emission

Slowing migrating to atom based system like
the other radeon drivers.

15 years agor600: split state emit into block specific functions
Alex Deucher [Thu, 20 Aug 2009 20:07:07 +0000 (16:07 -0400)]
r600: split state emit into block specific functions

We probably want to go finer grained eventually, but
this is a good start.

15 years agoprogs/glsl: report compile/link times in shtest.c
Brian Paul [Thu, 20 Aug 2009 20:30:08 +0000 (14:30 -0600)]
progs/glsl: report compile/link times in shtest.c

15 years agoprogs/util: added GetShaderCompile/LinkTime() to get compilation/link times
Brian Paul [Thu, 20 Aug 2009 20:29:26 +0000 (14:29 -0600)]
progs/util: added GetShaderCompile/LinkTime() to get compilation/link times

15 years agoprogs/glsl: update multitex.shtest for new texture syntax
Brian Paul [Thu, 20 Aug 2009 20:19:35 +0000 (14:19 -0600)]
progs/glsl: update multitex.shtest for new texture syntax

15 years agoprogs/glsl: update shtest.c to handle 1D/3D/CUBE/RECT textures
Brian Paul [Thu, 20 Aug 2009 20:19:01 +0000 (14:19 -0600)]
progs/glsl: update shtest.c to handle 1D/3D/CUBE/RECT textures

15 years agoprogs/glsl: tweaks to shtest.c
Brian Paul [Thu, 20 Aug 2009 16:58:05 +0000 (10:58 -0600)]
progs/glsl: tweaks to shtest.c

1. Larger sphere to match cube size
2. Allow -geometry option to override window size
3. Cube samplers

15 years agonv50: use VTX_ATTR_nF for constant vtxelts
Christoph Bumiller [Thu, 20 Aug 2009 19:39:02 +0000 (21:39 +0200)]
nv50: use VTX_ATTR_nF for constant vtxelts

15 years agonv50: set vertex buffer limits
Christoph Bumiller [Thu, 20 Aug 2009 19:30:49 +0000 (21:30 +0200)]
nv50: set vertex buffer limits

15 years agonv50: modify vbo format to hw translation, add BGRA swizzle
Christoph Bumiller [Thu, 20 Aug 2009 19:28:28 +0000 (21:28 +0200)]
nv50: modify vbo format to hw translation, add BGRA swizzle

15 years agost/egl: Open the first drm node
Jakob Bornecrantz [Thu, 20 Aug 2009 15:33:56 +0000 (17:33 +0200)]
st/egl: Open the first drm node

At least its better then hardcoded to i915

15 years agoprogs/glsl: more comments in shtest.c
Brian Paul [Thu, 20 Aug 2009 16:44:32 +0000 (10:44 -0600)]
progs/glsl: more comments in shtest.c

15 years agotgsi: when printing/dumping programs indent loops and conditionals
Brian Paul [Thu, 20 Aug 2009 16:43:48 +0000 (10:43 -0600)]
tgsi: when printing/dumping programs indent loops and conditionals

15 years agotgsi: check for SOA dependencies in SSE and PPC code generators
Brian Paul [Thu, 20 Aug 2009 16:34:45 +0000 (10:34 -0600)]
tgsi: check for SOA dependencies in SSE and PPC code generators

Fall back to interpreter for now.  This doesn't happen very often.

15 years agotgsi: handle SOA dependencies for MOV/SWZ
Brian Paul [Thu, 20 Aug 2009 16:28:22 +0000 (10:28 -0600)]
tgsi: handle SOA dependencies for MOV/SWZ

SOA dependencies can happen when a register is used both as a source and
destination and the source is swizzled.  For example:

MOV T, T.yxwz; would expand into:

  MOV t0, t1;
  MOV t1, t0;
  MOV t2, t3;
  MOV t3, t2;

The second instruction will produce the wrong result since we wrote to t0
in the first instruction.  We need to use an intermediate temporary to fix
this.

This will take more work to fix for all TGSI instructions.  This seems to
happen with MOV instructions more than anything else so fix that case now
and warn on others.

Fixes piglit glsl-vs-loop test (when not using SSE). See bug 23317.

15 years agotgsi: added tgsi_full_instruction::Flags field
Brian Paul [Thu, 20 Aug 2009 16:25:42 +0000 (10:25 -0600)]
tgsi: added tgsi_full_instruction::Flags field

Users of the parser can make use of this.

15 years agor600: try and get everything in the draw in one IB
Alex Deucher [Thu, 20 Aug 2009 16:10:42 +0000 (12:10 -0400)]
r600: try and get everything in the draw in one IB

fixes corruption issues with apps like teapot and
geartrain.

15 years agor600: move misc regs from general state
Alex Deucher [Thu, 20 Aug 2009 15:33:41 +0000 (11:33 -0400)]
r600: move misc regs from general state

These regs don't use the SET_CONTEXT_REG packet,
so they weren't getting set correctly.

15 years agomesa: add GL_DEPTH_STENCIL to glCopyPixels error check
Brian Paul [Thu, 20 Aug 2009 14:10:14 +0000 (08:10 -0600)]
mesa: add GL_DEPTH_STENCIL to glCopyPixels error check

Plus, add a comment about 'type' error checking.
See bug 19087.

15 years agor600: rework emit code
Alex Deucher [Thu, 20 Aug 2009 07:19:58 +0000 (03:19 -0400)]
r600: rework emit code

make sure we allocate enough space for relocs

15 years agoradeon: Update regulary cs processing info from kernel.
Pauli Nieminen [Wed, 19 Aug 2009 20:11:14 +0000 (23:11 +0300)]
radeon: Update regulary cs processing info from kernel.

This fixes problem that dma buffers were leaking in dri1 mode.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
15 years agogallium: rename copy/fill_rect utility functions
Brian Paul [Wed, 19 Aug 2009 19:17:03 +0000 (13:17 -0600)]
gallium: rename copy/fill_rect utility functions

15 years agogallium: fix tags target in Makefile.template
Brian Paul [Wed, 19 Aug 2009 19:16:41 +0000 (13:16 -0600)]
gallium: fix tags target in Makefile.template

15 years agoradeon: fix typo in last dma patch
Alex Deucher [Wed, 19 Aug 2009 17:06:53 +0000 (13:06 -0400)]
radeon: fix typo in last dma patch

15 years agointel: Fix failure to commit -a --amend before last push.
Eric Anholt [Wed, 19 Aug 2009 16:30:47 +0000 (09:30 -0700)]
intel: Fix failure to commit -a --amend before last push.

15 years agointel: Align cubemap texture height to its padding requirements.
Eric Anholt [Wed, 19 Aug 2009 01:48:54 +0000 (18:48 -0700)]
intel: Align cubemap texture height to its padding requirements.

15 years agointel: Align untiled region height to 2 according to 965 docs.
Eric Anholt [Thu, 13 Aug 2009 02:40:27 +0000 (19:40 -0700)]
intel: Align untiled region height to 2 according to 965 docs.

This may or may not be required pre-965, but it doesn't seem unlikely, and
I'd rather be safe.

15 years agoradeon: Add debug output for dma buffer object numbers.
Pauli Nieminen [Wed, 19 Aug 2009 12:20:15 +0000 (15:20 +0300)]
radeon: Add debug output for dma buffer object numbers.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
15 years agoradeon: Fix dma buffer object pool to scale object sizes.
Pauli Nieminen [Wed, 19 Aug 2009 11:47:25 +0000 (14:47 +0300)]
radeon: Fix dma buffer object pool to scale object sizes.

This fixes problems when application is using large vertex arrays for drawing.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
15 years agor600: minor cleanup
Alex Deucher [Wed, 19 Aug 2009 14:31:17 +0000 (10:31 -0400)]
r600: minor cleanup

15 years agoprogs/xdemos: add multictx to .gitignore
Brian Paul [Wed, 19 Aug 2009 14:58:38 +0000 (08:58 -0600)]
progs/xdemos: add multictx to .gitignore

15 years agotgsi: Add missing include.
José Fonseca [Mon, 17 Aug 2009 16:48:34 +0000 (17:48 +0100)]
tgsi: Add missing include.
(cherry picked from commit d2787c02c130b1fe20d0c032d468622f2fdaef79)

15 years agotgsi: Fix typo in ureg constant creation.
José Fonseca [Tue, 18 Aug 2009 14:25:33 +0000 (15:25 +0100)]
tgsi: Fix typo in ureg constant creation.
(cherry picked from commit aa40c9abc7787fdf46cb661a4d0bb8bec513fc63)

15 years agost/xlib: remove a couple more 'fake' references
Keith Whitwell [Fri, 14 Aug 2009 17:12:08 +0000 (18:12 +0100)]
st/xlib: remove a couple more 'fake' references

15 years agost/xlib: remove dead ungrab helper
Keith Whitwell [Fri, 14 Aug 2009 17:00:49 +0000 (18:00 +0100)]
st/xlib: remove dead ungrab helper

15 years agotgsi: silence compiler warning
Keith Whitwell [Wed, 19 Aug 2009 11:00:24 +0000 (12:00 +0100)]
tgsi: silence compiler warning

15 years agotgsi: remove unused function argument
Keith Whitwell [Wed, 19 Aug 2009 11:00:03 +0000 (12:00 +0100)]
tgsi: remove unused function argument

15 years agotgsi: add missing functionality to support instructions with labels
Keith Whitwell [Wed, 19 Aug 2009 10:54:06 +0000 (11:54 +0100)]
tgsi: add missing functionality to support instructions with labels

Could previously emit opcodes with label arguments, but was no way to
patch them with the actual destinations of those labels.

Adds two functions:

  ureg_get_instruction_number - to get the id of the next instruction
     to be emitted

  ureg_fixup_label - to patch an emitted label to point to a given
     instruction number.

Need some more complex examples than u_simple_shader, so far this has
only been compile-tested.

15 years agor300g: Force off ZTOP optimizations for now.
Corbin Simpson [Wed, 19 Aug 2009 04:22:30 +0000 (21:22 -0700)]
r300g: Force off ZTOP optimizations for now.

15 years agor300g: Utilize DONTBLOCK.
Corbin Simpson [Wed, 19 Aug 2009 01:14:22 +0000 (18:14 -0700)]
r300g: Utilize DONTBLOCK.

Also ALGYRHYTHMS.

15 years agoradeon-gallium: Oh, look, we *do* already support DONTBLOCK.
Corbin Simpson [Wed, 19 Aug 2009 01:11:46 +0000 (18:11 -0700)]
radeon-gallium: Oh, look, we *do* already support DONTBLOCK.

Well, okay, the kernel doesn't, but that's no excuse for us! :3

15 years agor300g: Massively cleanup OQ.
Corbin Simpson [Wed, 19 Aug 2009 00:52:03 +0000 (17:52 -0700)]
r300g: Massively cleanup OQ.

Still broken, but compiles cleaner, behaves better, etc.

15 years agor300g: Add high_second_pipe cap for R3xx chipsets.
Corbin Simpson [Wed, 19 Aug 2009 00:49:58 +0000 (17:49 -0700)]
r300g: Add high_second_pipe cap for R3xx chipsets.

This name is totally subject to change if ever I need to separate R3xx
for some other reason.

15 years agoradeon-gallium: Stop using outdated ioctls.
Corbin Simpson [Wed, 19 Aug 2009 00:47:06 +0000 (17:47 -0700)]
radeon-gallium: Stop using outdated ioctls.

15 years agoRevert "r300-gallium, radeon-gallium: Nuke gb_pipes from orbit."
Corbin Simpson [Tue, 18 Aug 2009 18:44:53 +0000 (11:44 -0700)]
Revert "r300-gallium, radeon-gallium: Nuke gb_pipes from orbit."

This reverts commit 6a40d1e9d96f8e8c57bc3bbd6f567cacd4471f59.

Turns out that we *do* need these for OQ after all. Go figure.

Conflicts:

src/gallium/winsys/drm/radeon/core/radeon_r300.h

15 years agoMerge branch 'mesa_7_5_branch'
Brian Paul [Tue, 18 Aug 2009 23:55:27 +0000 (17:55 -0600)]
Merge branch 'mesa_7_5_branch'

15 years agoegl/xlib: move call to create_configs() after we set the Xdpy field
Brian Paul [Tue, 18 Aug 2009 23:54:44 +0000 (17:54 -0600)]
egl/xlib: move call to create_configs() after we set the Xdpy field

15 years agotgsi/ppc: we don't implement saturation modes yet
Brian Paul [Tue, 18 Aug 2009 23:50:43 +0000 (17:50 -0600)]
tgsi/ppc: we don't implement saturation modes yet

15 years agotgsi/sse: we don't implement saturation modes yet
Brian Paul [Tue, 18 Aug 2009 23:49:57 +0000 (17:49 -0600)]
tgsi/sse: we don't implement saturation modes yet

Fixes piglit fp-generic tests/shaders/generic/lrp_sat.fp, bug 23316.

15 years agomesa: when emitting vertex program fog, set yzw=0,0,1
Brian Paul [Tue, 18 Aug 2009 23:39:55 +0000 (17:39 -0600)]
mesa: when emitting vertex program fog, set yzw=0,0,1

Fixes piglit fp-fog failure with gallium.

15 years agomesa: call FLUSH_CURRENT() for GL_CURRENT_TEXTURE_COORDS query
Brian Paul [Tue, 18 Aug 2009 15:42:38 +0000 (09:42 -0600)]
mesa: call FLUSH_CURRENT() for GL_CURRENT_TEXTURE_COORDS query

15 years agoradeon: balance dma buffer mapping
Pauli Nieminen [Tue, 18 Aug 2009 18:30:51 +0000 (14:30 -0400)]
radeon: balance dma buffer mapping

In radeonRefillCurrentDmaRegion() make sure we
unmap the previous buffer.

15 years agoegl: Create the front texture the properly
Jakob Bornecrantz [Tue, 18 Aug 2009 18:54:41 +0000 (19:54 +0100)]
egl: Create the front texture the properly

15 years agor300: Movde debug output from stdout to stderr in copiler.
Pauli Nieminen [Fri, 14 Aug 2009 11:55:24 +0000 (14:55 +0300)]
r300: Movde debug output from stdout to stderr in copiler.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
15 years agor200: make use of DMA buffers for Elts a lot better.
Dave Airlie [Fri, 26 Jun 2009 05:05:02 +0000 (15:05 +1000)]
r200: make use of DMA buffers for Elts a lot better.

This allows us to return the unused portion of the dma buffer
to the allocator instead of wasting nearly 16k a pop.

Cherry picked and ported to new code by Pauli.

15 years agor200: Fix missing offset from elt buffer pointer.
Pauli Nieminen [Fri, 14 Aug 2009 22:56:21 +0000 (01:56 +0300)]
r200: Fix missing offset from elt buffer pointer.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
15 years agoradeon: Optimize memory handling for dma operations.
Pauli Nieminen [Fri, 14 Aug 2009 19:10:24 +0000 (22:10 +0300)]
radeon: Optimize memory handling for dma operations.

We keep dma buffer objects in list untill they have been unused for many
draw operations. Current limit of having 100 flushes is just guess for
good performance/memory trade off.

Moving WARN_ONCE macro to common context because it is used in multiple drivers.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
15 years agor300: fix the build on big endian
Alex Deucher [Tue, 18 Aug 2009 15:38:54 +0000 (11:38 -0400)]
r300: fix the build on big endian

15 years agogallium: improved comments, minor whitespace changes
Brian Paul [Tue, 18 Aug 2009 15:31:22 +0000 (09:31 -0600)]
gallium: improved comments, minor whitespace changes

15 years agoegl: Remove eglhash.c and eglhash.h.
Chia-I Wu [Fri, 14 Aug 2009 10:26:26 +0000 (18:26 +0800)]
egl: Remove eglhash.c and eglhash.h.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl: Add back handle checking.
Chia-I Wu [Fri, 14 Aug 2009 10:02:38 +0000 (18:02 +0800)]
egl: Add back handle checking.

Handle checking was done using hash tables.  Now that they are gone, we
have to loop over the lists.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl: Make lookup functions static inline.
Chia-I Wu [Fri, 14 Aug 2009 10:05:19 +0000 (18:05 +0800)]
egl: Make lookup functions static inline.

progs/egl/demo3.c is also changed since it uses an internal function.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl: Remove hash table for displays.
Chia-I Wu [Fri, 14 Aug 2009 09:47:00 +0000 (17:47 +0800)]
egl: Remove hash table for displays.

The hash table was used to map a display to a handle.  It is simpler to
cast directly.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl: Remove hash table for surfaces.
Chia-I Wu [Fri, 14 Aug 2009 09:29:23 +0000 (17:29 +0800)]
egl: Remove hash table for surfaces.

The hash table was used to map a surface to a handle.  It is simpler to
cast directly.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl: _eglCloseDriver should be no-op.
Chia-I Wu [Thu, 13 Aug 2009 05:39:51 +0000 (13:39 +0800)]
egl: _eglCloseDriver should be no-op.

Move drv->API.Terminate call to eglTerminate.  Remove
_eglReleaseDisplayResource as drivers are doing it.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl: Some per-driver data should be per-display.
Chia-I Wu [Thu, 13 Aug 2009 05:38:24 +0000 (13:38 +0800)]
egl: Some per-driver data should be per-display.

Move some fields of _EGLDriver to _EGLDisplay.  It also becomes
unnecessary to pass _EGLDisplay to drivers when _eglMain is called.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl: Change the way drivers are loaded.
Chia-I Wu [Thu, 13 Aug 2009 05:01:48 +0000 (13:01 +0800)]
egl: Change the way drivers are loaded.

Driver is chosen and preloaded when eglGetDisplay is called.  Later when
eglInitialize is called, the same driver is matched to initialize the
display.  Also, add new, but unused, hooks to EGLDriver to allow a
driver to probe a display or unload itself.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl: Overhaul driver API.
Chia-I Wu [Tue, 11 Aug 2009 09:09:39 +0000 (17:09 +0800)]
egl: Overhaul driver API.

The motivation is so that drivers do not need to look up and check for
bad display, context, and etc.  It also becomes unnecessary for drivers
to call the link functions.

This commit makes eglapi.[ch] do the lookup and check.  As a result, the
driver API is overhauled, and almost all sources and drivers need
update.  The updates are mainly find and replace with human brains.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agor600: fix build
Dave Airlie [Tue, 18 Aug 2009 10:38:49 +0000 (20:38 +1000)]
r600: fix build

15 years agor300: remove warning introduced with OQ
Dave Airlie [Tue, 18 Aug 2009 10:30:15 +0000 (20:30 +1000)]
r300: remove warning introduced with OQ

15 years agoradeon/r200: fix build after OQ commits
Dave Airlie [Tue, 18 Aug 2009 10:29:02 +0000 (20:29 +1000)]
radeon/r200: fix build after OQ commits

15 years agor300: OQ rework
Dave Airlie [Sun, 16 Aug 2009 08:42:24 +0000 (18:42 +1000)]
r300: OQ rework

Move to common code base so radeon/r200 can add support for this.
Make OQ start a state emitted like all normal state, and make no-tcl
flushing work in proper places.

Really need a generic post emit space reservation mechanism like max_state
so we can reserve some space for the emit

this code passes demos/arbocclude, piglit occlusion query and
glean occlusion query with TCL and NO-TCL on my rv530.

15 years agor300: fix missing BEGIN/END batches
Dave Airlie [Sun, 16 Aug 2009 08:41:23 +0000 (18:41 +1000)]
r300: fix missing BEGIN/END batches

15 years agor300: fix big endian build
Dave Airlie [Tue, 18 Aug 2009 03:55:12 +0000 (13:55 +1000)]
r300: fix big endian build

15 years agogallium: memset() tgsi_exec_machine to all zeros in tgsi_exec_machine_create()
Brian Paul [Mon, 17 Aug 2009 23:11:54 +0000 (17:11 -0600)]
gallium: memset() tgsi_exec_machine to all zeros in tgsi_exec_machine_create()

This fixes invalid values for CondStackTop, LoopStackTop, etc.

15 years agodemos/glsl: remove glutInitWindowPosition() calls
Brian Paul [Mon, 17 Aug 2009 18:57:37 +0000 (12:57 -0600)]
demos/glsl: remove glutInitWindowPosition() calls

15 years agor600: fix counting error after the last commit
Alex Deucher [Mon, 17 Aug 2009 22:16:38 +0000 (18:16 -0400)]
r600: fix counting error after the last commit

15 years agor600: make sure the number of indices is valid
Alex Deucher [Mon, 17 Aug 2009 21:47:27 +0000 (17:47 -0400)]
r600: make sure the number of indices is valid

make sure the number of indices is valid for the
requested prim type.  glxgears sends invalid
quad strips with only 2 indices for example.

15 years agoradeon: remove RADEON_DEBUG_BO stuff
Alex Deucher [Mon, 17 Aug 2009 19:42:19 +0000 (15:42 -0400)]
radeon: remove RADEON_DEBUG_BO stuff

This stuff was a vestige of the r600 bring up and
now mostly serves to periodically break the build.

15 years agonv50: remove a few cases of directly casting struct pipe_context
Maarten Maathuis [Mon, 17 Aug 2009 12:45:50 +0000 (14:45 +0200)]
nv50: remove a few cases of directly casting struct pipe_context

15 years agonv50: borrow some flushing code from the ddx
Maarten Maathuis [Sun, 16 Aug 2009 02:06:44 +0000 (04:06 +0200)]
nv50: borrow some flushing code from the ddx

- This fixes neverball corruption.
- I'm unsure about what we're actually flushing here.

15 years agogallium: Make PIPE_TRANSFER_{READ,WRITE,READ_WRITE} bitmask friendly.
Maarten Maathuis [Sun, 16 Aug 2009 01:20:09 +0000 (03:20 +0200)]
gallium: Make PIPE_TRANSFER_{READ,WRITE,READ_WRITE} bitmask friendly.

15 years agonv50: whitespace fixes and deobfuscation
Maarten Maathuis [Sat, 15 Aug 2009 23:29:06 +0000 (01:29 +0200)]
nv50: whitespace fixes and deobfuscation

15 years agocell: fix incorrect pipe_transfer tests
Brian Paul [Mon, 17 Aug 2009 14:27:52 +0000 (08:27 -0600)]
cell: fix incorrect pipe_transfer tests

The value is an enum, not a bitmask.

15 years agor300: split vbo rendering with big drawarray case
Jerome Glisse [Mon, 17 Aug 2009 10:46:34 +0000 (12:46 +0200)]
r300: split vbo rendering with big drawarray case

Split vbo rendering when the number of elements requested
by drawarrays is bigger than 65536.