Commit graph

4218 commits

Author SHA1 Message Date
Corbin Simpson
c63bd15f81 Revert "r300-gallium, radeon-gallium: Nuke gb_pipes from orbit."
This reverts commit 6a40d1e9d9.

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

Conflicts:

	src/gallium/winsys/drm/radeon/core/radeon_r300.h
2009-08-18 21:25:53 -07:00
Brian Paul
73fc09a7bf Merge branch 'mesa_7_5_branch' 2009-08-18 17:55:27 -06:00
Brian Paul
e4aa62a6ce egl/xlib: move call to create_configs() after we set the Xdpy field 2009-08-18 17:54:44 -06:00
Brian Paul
3097d7dbf8 tgsi/ppc: we don't implement saturation modes yet 2009-08-18 17:50:52 -06:00
Brian Paul
fab17c1216 tgsi/sse: we don't implement saturation modes yet
Fixes piglit fp-generic tests/shaders/generic/lrp_sat.fp, bug 23316.
2009-08-18 17:50:00 -06:00
Jakob Bornecrantz
657109bbc6 egl: Create the front texture the properly 2009-08-18 18:51:41 +01:00
Brian Paul
1c1ee1176d gallium: improved comments, minor whitespace changes 2009-08-18 09:31:22 -06:00
Chia-I Wu
5a2c9372a0 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>
2009-08-18 08:49:09 -06:00
Chia-I Wu
2f2cf461c5 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>
2009-08-18 08:44:34 -06:00
Brian Paul
3aafd22f6a gallium: memset() tgsi_exec_machine to all zeros in tgsi_exec_machine_create()
This fixes invalid values for CondStackTop, LoopStackTop, etc.
2009-08-17 17:13:17 -06:00
Maarten Maathuis
caf40d5d14 nv50: remove a few cases of directly casting struct pipe_context 2009-08-17 18:48:14 +02:00
Maarten Maathuis
97cc526eb7 nv50: borrow some flushing code from the ddx
- This fixes neverball corruption.
- I'm unsure about what we're actually flushing here.
2009-08-17 18:48:14 +02:00
Maarten Maathuis
f199dbdb76 gallium: Make PIPE_TRANSFER_{READ,WRITE,READ_WRITE} bitmask friendly. 2009-08-17 18:48:14 +02:00
Maarten Maathuis
93ce4c99d4 nv50: whitespace fixes and deobfuscation 2009-08-17 18:48:13 +02:00
Brian Paul
7c4223876b cell: fix incorrect pipe_transfer tests
The value is an enum, not a bitmask.
2009-08-17 08:28:22 -06:00
Christoph Bumiller
0204c7d8d7 nv50: fix stencil state
It's the front stencil methods that have contiguous offsets,
not the back ones.
Unfortunately the names in the header still have FRONT/BACK
reversed, so I'm using hex values until it gets updated.
2009-08-17 12:26:54 +02:00
Maarten Maathuis
a7adb85827 nv50: avoid a NULL-ptr dereference when the pipe context changes
- We cannot assume all state objects are present when the pipe context changes.
2009-08-15 16:57:00 +02:00
Christoph Bumiller
a2af40b846 nv50: align registers used with TEX to 4
The TEX instruction is passed the first index of a contiguous
range of 4 TEMP registers that contain coordinates / LOD and,
after execution, the texel values.
It seems the first index is required to be a multiple of 4 on
some (older ?) cards.
2009-08-15 16:22:27 +02:00
José Fonseca
e3bc1fb6bc gallium: Always map for READ flag when DISCARD is not set.
This prevents the driver from discarding a buffer when the whole buffer
is mapped for writing, but only a portion is effectively written.

This is a temporary fix, because WRITE shouldn't imply DISCARD.

The full fix implies using PIPE_BUFFER_USAGE_DISCARD, throughout
the code, and will go only into master.
2009-08-14 20:05:51 +01:00
José Fonseca
10430f47a4 trace: Remove space next to the class attribute of the trace. 2009-08-14 20:05:51 +01:00
José Fonseca
cdf56eb68d python/retrace: Open bz2 files correctly. 2009-08-14 20:05:51 +01:00
Keith Whitwell
51c47383f9 st/xlib: reduce the proliferation of GLX context types
Now there is just a single, struct __GLXcontextRec, which is the
GLXContext typedef has already been defined as a pointer to.  I
believe this is the intended usage, that GLX implementations should
define that struct as they require.

Merge the two previous structs into one and get rid of the
no-longer-necessary type casts and sub-classing.
2009-08-14 17:56:47 +01:00
Keith Whitwell
9616e4ad1c st/dri: remove unused dummyContext value 2009-08-14 17:42:27 +01:00
Christoph Bumiller
442a5e4343 nv50: fix mipmap offsets and tiling
The hardware expects a texture's tile mode to change with
the mipmap level.
Also, only multiply by block size once to obtain size.
2009-08-14 18:23:55 +02:00
Christoph Bumiller
3506d7d3e2 nv50: make sure we don't re-emit outdated scissor state
Since we don't turn off scissors, we need to update the
stateobj when the framebuffer size changes.
2009-08-14 18:16:46 +02:00
Christoph Bumiller
74e8b1a30b nv50: make use of the y-origin switch
Now that we know how to make the hardware have y-coordinate origin
top, we can get rid of all the inversion introduced earlier.
2009-08-14 18:06:24 +02:00
Chia-I Wu
67b639c7ab st/vega: Add more symbols defined by mesa/st.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-14 08:11:38 -06:00
Christoph Bumiller
f1aa2a43b7 nv50: fix typo in REALLOC's 2nd argument in ctor_immd 2009-08-14 15:54:49 +02:00
Michel Dänzer
ace98f09e6 st/dri: Add support for GLX_EXT_texture_from_pixmap with direct rendering. 2009-08-13 20:24:09 +02:00
Michel Dänzer
7c08614b32 gallium/drm: Handle circular dependencies in the auxiliary libraries with make. 2009-08-13 18:46:53 +02:00
Michel Dänzer
7ef8c79a8c st/xorg: Fix DRI2 CopyRegion hook.
Use GC CopyArea op for proper translation and clipping, and throttle full
buffer swaps / frontbuffer flushes.
2009-08-13 18:46:53 +02:00
Keith Whitwell
f2fcd5822a tgsi: add simple facility for releasing and reusing temporaries 2009-08-13 17:32:25 +01:00
Keith Whitwell
b56d2ba7b2 tgsi: rename ureg src/dest converters
Also fix a typo in ureg_src().
2009-08-13 17:32:25 +01:00
José Fonseca
5c5364a0f6 draw: Remove unused variable. 2009-08-13 16:33:50 +01:00
Keith Whitwell
bf57eda0ec Merge branch 'mesa_7_5_branch' 2009-08-13 15:57:23 +01:00
Keith Whitwell
1ce3f5a806 draw: cope with more primitives in draw_pipeline_run
This previously was used only for decomposed (POINT/LINE/TRI) primitives,
but for some time a full range of primitives could end up in here.

Fixes trivial/lineloop-clip on softpipe, among others.
(cherry picked from commit 87cd8a3b8a2407b30916be418ff2f95dfea5d2ad)
2009-08-13 15:56:17 +01:00
Keith Whitwell
78918c8760 tgsi: turn off debugging 2009-08-13 14:28:01 +01:00
Keith Whitwell
749e52049d tgsi: use REALLOC for growing token pool 2009-08-13 14:27:42 +01:00
Keith Whitwell
120e76866b util: silence warnings for third REALLOC argument
Our fallback realloc path requires an old_size argument, but the posix
varient doesn't need this.  Add some code to avoid gcc unused variable
warnings for this extra argument.
2009-08-13 14:26:50 +01:00
Keith Whitwell
b1d82f1f19 util: remove unneeded includes 2009-08-13 13:43:25 +01:00
Keith Whitwell
002c76cfef util: convert u_simple_shaders to use tgsi_ureg
Much nicer now.
2009-08-13 13:02:59 +01:00
Keith Whitwell
8a7d1e7b76 tgsi: add tgsi_ureg, a simplified tgsi shader builder
This is modelled on the nice & easy-to-use facilities we had
for building shaders in mesa, eg. in texenvprogram.c and friends.

Key points include pass-by-value register structs that can be manipulated
in a functional style, eg:

   negate(swizzle(reg, X,X,X,X))

and per-opcode instruction functions, eg:

   emit_MOV( p, writemask(dst, 0x1), negate(src));

and similar.

Additionally, the interface allows mixed emit of instructions and decls,
which are sorted out internally to obey TGSI ordering.

Immediates may be emitted at any time and are scanned against existing
immediates to try and reduce redundancy.

Not all TGSI functionality is accessible through this interface, but
most or all of what mesa uses should be.
2009-08-13 13:02:47 +01:00
Brian Paul
f3b215cba2 Merge branch 'new-frag-attribs'
This branch introduces new FRAG_ATTRIB_FACE and FRAG_ATTRIB_PNTC fragment
program inputs for GLSL gl_FrontFacing and gl_PointCoord.  Before, these
attributes were packed with the FOG attribute.  That made things
complicated elsewhere.
2009-08-12 20:32:41 -06:00
Michel Dänzer
5eeb44f398 st/xorg: Acquire/drop DRM master in order to work with multiple servers. 2009-08-12 19:11:11 +02:00
Brian Paul
f21b0e9a04 gallium/glx/xlib: main/ prefix on Mesa includes, remove -I$(TOP)/src/mesa/main/ 2009-08-12 10:32:22 -06:00
Brian Paul
10eb2ca954 gallium/glx/xlib: updated comments 2009-08-12 10:32:22 -06:00
Brian Paul
80b8fbcaba gallium/glx/xlib: delete fakeglx.h 2009-08-12 10:32:22 -06:00
Brian Paul
275d0e7e92 gallium/glx/xlib: rename fakeglx.c to glx_api.c 2009-08-12 10:32:22 -06:00
Brian Paul
622d531296 gallium/glx/xlib: delete glxapi.h 2009-08-12 10:32:22 -06:00
Brian Paul
f5dd1cff94 gallium/glx/xlib: rename fakeglx_fonts.c to glx_usefont.c 2009-08-12 10:32:22 -06:00