Zack Rusin
5c746d9214
st/xorg: redo the vertex shader
2009-09-01 18:59:01 -04:00
Zack Rusin
a8cbb15632
st/xorg: setup solid fills
2009-09-01 17:49:32 -04:00
Zack Rusin
811aa02c7a
st/xorg: fold back the helper function into core
2009-09-01 14:44:55 -04:00
Zack Rusin
91c366359c
st/xorg: start rendering and compositing pictures
2009-09-01 14:44:55 -04:00
Keith Whitwell
b3f4b56a3b
tgsi: remove redundant CND0 opcode
...
Can be implemented with CMP src2, src1, src0
2009-09-01 17:30:01 +01:00
José Fonseca
836a9f0ae6
scons: Tool for LLVM. Gracefully disable llvmpipe if LLVM not found.
2009-09-01 12:26:00 +01:00
Jakob Bornecrantz
8c3f622a34
trace: Don't set surface_[fill|copy] if not set on pipe
2009-09-01 11:56:14 +02:00
Cooper Yuan
165e87c491
r300g: Fix clear issue on r300
2009-09-01 17:59:03 +08:00
Jakob Bornecrantz
935e4c56e5
i915g: Implement new winsys
2009-09-01 00:47:02 +01:00
Jakob Bornecrantz
d2110064c2
i915g: Switch from pipe_winsys to intel_winsys
...
Also includes moving lots of functions from i915_batch.h
into intel_batchbuffer.h
2009-09-01 00:47:02 +01:00
Jakob Bornecrantz
dd040753d7
i915g: Add header file for new winsys interface
2009-09-01 00:47:01 +01:00
Jakob Bornecrantz
105e4b093e
i915g: Add new buffer code not yet hocked up
2009-09-01 00:46:56 +01:00
Jakob Bornecrantz
7b32da0b11
st/xorg: Fix crash in MPH
2009-09-01 00:44:36 +01:00
Zack Rusin
f315c0128b
st/xorg: add code to render textured quads for composite acceleration
2009-08-31 13:26:01 -04:00
Zack Rusin
9ccbadb22d
st/xorg: setup constant buffers for vertex and fragment shaders
2009-08-31 13:26:01 -04:00
Michel Dänzer
3c3ad915d8
st/xorg: Re-organize the EXA ModifyPixmapHeader hook a bit.
...
This should also handle the case where the pixmap is backed by a (different)
texture before and afterwards.
2009-08-31 18:41:54 +02:00
Michel Dänzer
40e3148a81
st/xorg: Simplify EXA ModifyPixmapHeader hook for pPixmap != NULL.
...
Just let the upper layers handle it.
2009-08-31 18:41:54 +02:00
Michel Dänzer
366efd8c4b
st/xorg: Don't always fall back for solid fills.
2009-08-31 18:41:53 +02:00
Jakob Bornecrantz
5f7b46ae5f
i915g: Reorg texture layout code
2009-08-31 16:29:59 +01:00
Jakob Bornecrantz
761c8c7076
i915g: Move transfer functions into i915_texture.c
2009-08-31 16:29:58 +01:00
Jakob Bornecrantz
5374aff56f
i915g: Reorg texture code a bit
2009-08-31 16:29:58 +01:00
Jakob Bornecrantz
f260652153
i915g: Don't use winsys directly in the driver
2009-08-31 16:29:58 +01:00
Jakob Bornecrantz
bd0c51874f
i915g: Cleanup i915_prim_vbuf.c
2009-08-31 16:29:58 +01:00
Jakob Bornecrantz
1bb3a2c648
i915g: Cleanup i915_screen.[c|h]
2009-08-31 16:29:58 +01:00
Jakob Bornecrantz
1b5f46a3b8
i915g: Cleanup i915_context.c
2009-08-31 16:29:58 +01:00
Jakob Bornecrantz
7864b0e717
i915g: Cleanup i915_blit.[c|h]
2009-08-31 16:29:58 +01:00
Jakob Bornecrantz
5d929366aa
i915g: Cleanup i915_state_emit.c
2009-08-31 16:29:57 +01:00
Jakob Bornecrantz
00b0728094
i915g: Cleanup i915_texture.c
2009-08-31 16:29:57 +01:00
Jakob Bornecrantz
4224bda684
i915g: Cleanup texture init functions a bit
2009-08-31 16:29:57 +01:00
Jakob Bornecrantz
e1741dbe45
i915g: Rename pipe field on context to base
2009-08-31 16:29:57 +01:00
Jakob Bornecrantz
ad25d450ec
i915g: Rename screen field on screen to base
2009-08-31 16:29:57 +01:00
José Fonseca
241c3a1d80
llvmpipe: Fallback to element-wise comparisons when no comparison intrinsic is available.
...
Although selection of vector elements is valid LLVM IR, no machine target
supports it yet.
This is a last-resort option, but it allows llvmpipe to be used on any
target supported by LLVM without modifications. Obviously better
performance is attainable by emitting SIMD intrinsics where otherwise
LLVM doesn't.
2009-08-31 10:22:36 +01:00
José Fonseca
45fb66ab7b
llvmpipe: In the abcense of a min/max intrinsic, use the comparison intrinsics.
2009-08-31 10:00:38 +01:00
José Fonseca
b995af25d0
llvmpipe: Actually commit lp_buffer.[ch].
...
Thanks Michel.
2009-08-31 09:34:04 +01:00
Michel Dänzer
9f0495aa76
Gallium xlib: Add support for BGRA visuals.
2009-08-31 10:22:19 +02:00
Ben Skeggs
1ea114958b
nouveau: fix for dri state tracker changes
2009-08-31 13:39:45 +10:00
Ben Skeggs
02f3245448
nouveau: introduce nouveau_miptree common to all nouveau pipe drivers
...
The winsys once again has to know about textures it seems, so we need a
common representation between all our pipe drivers to store some
information the winsys will need.
Only the nv50 driver has been fixed so far.
2009-08-31 13:39:38 +10:00
Ben Skeggs
500b260494
nouveau: hack winsys to compile again, it's broken still however
2009-08-31 12:55:56 +10:00
Nicolai Hähnle
d1b4351e60
r300: Remove all Mesa dependencies from the shader compiler
...
In particular, this removes the dependency on prog_instruction, which
unfortunately creates some code duplication, but also opens a path towards
adding some hardware-specific things in there.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-08-30 18:51:46 +02:00
Marc Dietrich
a192da37ed
cell: fix compilation
2009-08-30 09:24:27 -06:00
José Fonseca
c28f253ac2
llvmpipe: Texture cache in 4 ubytes instead of 4 floats.
...
This is more a short term experiment than a long term commitment, as we'll
need to support higher precision textures too, as this will all be
be replaced by runtime generated code.
With this change most Mesa demos fps increased around 10%. Not a huge
improvement, but not a negligible one either.
2009-08-30 12:37:03 +01:00
José Fonseca
62b586fce4
llvmpipe: Use util_format_read_4f to read texture tiles.
2009-08-30 12:37:03 +01:00
José Fonseca
ffe1b7bad8
llvmpipe: Texture cache is read-only. No need to flush.
2009-08-30 12:37:03 +01:00
José Fonseca
3d30524393
util: Auto generate pixel format accessor functions from
...
This has several advantages over the u_
- not hand written
- no intermediate memcpy of raw pixels
- supports 4 ubytes in addition to floats
- no need to pass a pipe_transfer
It also has (hopefully temporary) limitations:
- no support for YUV
- no support for SRGB
2009-08-30 12:37:03 +01:00
José Fonseca
379304a72c
llvmpipe: Eliminate internal pipe_buffer_map/unmap usage.
2009-08-30 12:37:03 +01:00
José Fonseca
d336ef410a
xlib: Implement lp_winsys::destroy.
2009-08-30 12:37:03 +01:00
Michel Dänzer
9053bb0d40
Merge branch 'mesa_7_5_branch'
...
Conflicts:
src/glx/x11/glxcmds.c
2009-08-30 13:06:18 +02:00
José Fonseca
c9adb4c9cb
llvmpipe: List lp_buffer.c in the Makefile.
2009-08-29 20:07:53 +01:00
José Fonseca
85a0a4b296
xlib: Implement llvmpipe lp_winsys interface.
2009-08-29 20:03:44 +01:00
José Fonseca
e173a9bbd6
llvmpipe: Define an winsys for LLVM. Drop pipe_winsys
...
lp_winsys will eventually be unified with softpipe's eventually, but we
are free to move quicker since we don't have the myriad of users yet.
Will provide a pipe_winsys adaptor from Keith's softpipe-private-winsys
soon.
2009-08-29 20:03:44 +01:00
Christoph Bumiller
8313801911
nv50: set provoking vertex state
2009-08-29 17:22:12 +02:00
José Fonseca
da1248bee5
xlib: Update llvmpipe integration for changes in master.
2009-08-29 09:21:42 +01:00
José Fonseca
f04ce6276b
llvmpipe: Update for changes in master.
2009-08-29 09:21:42 +01:00
José Fonseca
fdb3e75f7e
util: Add util_unsigned_logbase2.
...
Cherry picked from Keith's commit f911c3b989
.
2009-08-29 09:21:42 +01:00
José Fonseca
c40eddd294
llvmpipe: Isolate sampling from TGSI translation.
2009-08-29 09:21:42 +01:00
José Fonseca
d4806c64a2
llvmpipe: Better structure dereference naming.
2009-08-29 09:21:42 +01:00
José Fonseca
8aa62cead7
llvmpipe: Fix shader variant key construction.
...
Fixes the blank screen on non-64bit mode.
2009-08-29 09:21:42 +01:00
José Fonseca
1e6cc1cf37
llvmpipe: Fix build.
2009-08-29 09:21:42 +01:00
José Fonseca
f311bacebd
llvmpipe: Merge all pixel format related files.
2009-08-29 09:21:42 +01:00
José Fonseca
f85c5f8621
llvmpipe: Factor out and optimize the input interpolation.
...
Special attention is given to the interpolation of side by side quads.
Multiplications are made only for the first quad. Interpolation of
inputs for posterior quads are done exclusively with additions, and
perspective divide if necessary.
2009-08-29 09:21:41 +01:00
José Fonseca
03180dca7a
llvmpipe: Pre-declare fetch_texel.
2009-08-29 09:21:41 +01:00
José Fonseca
635c37e118
llvmpipe: Pass the alpha ref value and blend color in the jit context.
2009-08-29 09:21:41 +01:00
José Fonseca
c022e15d1e
llvmpipe: Pass fragment context to generated function in a single structure.
2009-08-29 09:21:41 +01:00
José Fonseca
8c7c108d71
llvmpipe: Structure manipulation helpers.
2009-08-29 09:21:41 +01:00
José Fonseca
08dd41fd68
llvmpipe: Centralize the C <-> JIT interfaces in one place.
2009-08-29 09:21:41 +01:00
José Fonseca
97b4681d7e
llvmpipe: Drop blend derived state.
...
Already included in the fragment shader.
2009-08-29 09:21:41 +01:00
Keith Whitwell
04de13b9cd
llvmpipe: keep texture stride 16byte aligned
...
Fixes crash when resizing gears window.
2009-08-29 09:21:41 +01:00
José Fonseca
4d2b0eb19e
llvmpipe: Squash the quad pipeline.
...
It had been reduced to one fixed stage.
2009-08-29 09:21:41 +01:00
José Fonseca
77b35dc179
llvmpipe: s/uni/scalar/.
...
More obvious name.
2009-08-29 09:21:40 +01:00
José Fonseca
5811ed87d7
llvmpipe: Add a bunch of comments.
...
Description/rationale/to-do items, while I still remember them...
2009-08-29 09:21:40 +01:00
José Fonseca
3f36f4b051
llvmpipe: Split off vs stuff from lp_state_fs.c.
...
lp_state_fs.c is already too big without it.
2009-08-29 09:21:40 +01:00
José Fonseca
c3b7406667
llvmpipe: Avoid duplicate clamping when converting between types.
2009-08-29 09:21:40 +01:00
José Fonseca
9897180279
llvmpipe: Generate the fragment pipeline into a single function.
...
Still hackish. Will document and optimize later.
2009-08-29 09:21:40 +01:00
José Fonseca
64cc71167f
llvmpipe: Get conversions working correctly for all integer types.
2009-08-29 09:21:39 +01:00
José Fonseca
53f9a1180e
llvmpipe: Delete the quad polygon stipple stage.
...
Not used now -- stipple done by the draw module. May code generate later.
2009-08-29 09:21:39 +01:00
José Fonseca
3d7a88674f
llvmpipe: Early depth testing.
2009-08-29 09:21:39 +01:00
José Fonseca
90b5df8d1b
llvmpipe: Disassemble beyond referred code beyond the RET instruction.
2009-08-29 09:21:39 +01:00
José Fonseca
c5531f575b
llvmpipe: Split control flow function declarations and notes.
2009-08-29 09:21:39 +01:00
José Fonseca
1e4376a68f
llvmpipe: Back port recent softpipe-opt improvements from Keith.
2009-08-29 09:21:39 +01:00
José Fonseca
f10ee9a0a1
llvmpipe: Don't limit the number of tiles in the cache.
2009-08-29 09:21:39 +01:00
José Fonseca
87c383a2e5
llvmpipe: Clean dead tile cache code.
2009-08-29 09:21:39 +01:00
José Fonseca
e3baeb3f14
llvmpipe: Simplify tile clears. Use pipe_fill_rect instead of scratch tile.
2009-08-29 09:21:38 +01:00
José Fonseca
d94fbb4a48
llvmpipe: Start hiding llvmpipe_cached_tile.
2009-08-29 09:21:38 +01:00
José Fonseca
1cb9ce0d27
llvmpipe: Drop depth/stencil support from tile cache.
2009-08-29 09:21:38 +01:00
José Fonseca
e3b38e5ec1
llvmpipe: Code generate the depth test, and include in the shader.
...
Only 32bit depth/stencil surfaces supported for now. Stencil ops not
implemented yet.
2009-08-29 09:21:38 +01:00
José Fonseca
db35ac36d9
llvmpipe: Update texture block from format.
2009-08-29 09:21:38 +01:00
José Fonseca
343ccc8dd0
llvmpipe: Depth test to LLVM IR translation.
2009-08-29 09:21:38 +01:00
José Fonseca
c0472f9c34
llvmpipe: Centralize mask update logic.
2009-08-29 09:21:37 +01:00
José Fonseca
3dbf00f9ab
llvmpipe: Clamped float to unsigned norm via mantissa manipulation.
2009-08-29 09:21:37 +01:00
José Fonseca
33ce51bc0d
llvmpipe: Several fixes of the conversion test.
2009-08-29 09:21:37 +01:00
José Fonseca
d07b038366
llvmpipe: Generate instrinsics for integer comparisons.
...
It is a little messy, given the available instrucions form SIMD
integer comparisons is rather limited.
2009-08-29 09:21:37 +01:00
José Fonseca
89146cd48d
llvmpipe: Mention the ability to get microbenchmarks from the unit tests.
...
Even better would be to have a -h/--help option to the tests...
2009-08-29 09:21:37 +01:00
José Fonseca
9ae47069b4
llvmpipe: Code generate alpha testing and append to generated fragment shader.
2009-08-29 09:21:37 +01:00
José Fonseca
b5e397c369
util: Dump PIPE_FUNC_x value names.
2009-08-29 09:21:37 +01:00
Brian Paul
03b388e1c9
llvmpipe: frag shader comments
2009-08-29 09:21:36 +01:00
Brian Paul
0f6c621aee
llvmpipe: blend comments
2009-08-29 09:21:36 +01:00
Brian Paul
8329e59958
llvmpipe: comments about blend generator
2009-08-29 09:21:36 +01:00
Brian Paul
f586d9546b
llvmpipe: basic comments
2009-08-29 09:21:36 +01:00
José Fonseca
b9f2f01315
llvmpipe: Hack to force the line/point rasterization also fit the blend function expectations.
2009-08-29 09:21:35 +01:00
José Fonseca
7643da88a3
llvmpipe: Refer my udis86 branch which decodes more opcodes.
2009-08-29 09:21:35 +01:00
José Fonseca
7c2dc3faa8
llvmpipe: Code generate the position interpolation.
2009-08-29 09:21:35 +01:00
José Fonseca
6f5cd15f80
llvmpipe: Simpler variant of lp_build_broadcast_scalar.
2009-08-29 09:21:35 +01:00
José Fonseca
17baa01bfb
llvmpipe: Put the position coefficients together with the inputs.
...
The automatic search'n'replace leaves lp_setup.c a bit ugly, but this code
will be eventually code generated as well.
2009-08-29 09:21:35 +01:00
José Fonseca
7926b42d41
llvmpipe: Implement saturation.
2009-08-29 09:21:35 +01:00
José Fonseca
39352b3443
llvmpipe: Put color/depth directly into the quad structure.
2009-08-29 09:21:35 +01:00
Brian Paul
908d8d7a1b
llvmpipe: prefix point/line/tri_setup() functions with llvmpipe_
...
Avoid symbol collisions with softpipe.
2009-08-29 09:21:35 +01:00
Brian Paul
137afe6a55
llvmpipe: updated Makefile C_SOURCES
2009-08-29 09:21:34 +01:00
Brian Paul
aa2514d12d
llvmpipe: add missing break in xlib _init()
2009-08-29 09:21:34 +01:00
José Fonseca
556eecea67
llvmpipe: Allow to build without udis86.
2009-08-29 09:21:34 +01:00
José Fonseca
2fef9b3369
llvmpipe: Drop the FETCH/STORE macros.
2009-08-29 09:21:34 +01:00
José Fonseca
5999ebfb69
llvmpipe: Debug helper function to name llvm intermediate values.
2009-08-29 09:21:34 +01:00
Keith Whitwell
a22f87c994
llvmpipe: use align_malloc for all structs containing ALIGN16 members
...
Unless the struct is allocated aligned, aligning the members isn't very
helpful.
2009-08-29 09:21:34 +01:00
José Fonseca
49d83fdc45
llvmpipe: Document that llvm 2.5 is expected.
2009-08-29 09:21:34 +01:00
José Fonseca
8df64bb2fe
llvmpipe: Briefly describe current status.
2009-08-29 09:21:34 +01:00
José Fonseca
bb867b0ae4
llvmpipe: Blend in place.
2009-08-29 09:21:34 +01:00
José Fonseca
4a414d8f87
llvmpipe: Code generate logic ops.
2009-08-29 09:21:34 +01:00
José Fonseca
3014919211
llvmpipe: Rasterize the quads according to what the blend function expects.
2009-08-29 09:21:34 +01:00
José Fonseca
efab431684
llvmpipe: Tile in SoA format identical to the blender function output.
2009-08-29 09:21:34 +01:00
José Fonseca
ee066eaf6d
llvmpipe: Allow to dump the disassembly byte code.
...
Useful as dis86 doesn't disassemble some SSE4 opcodes yet.
2009-08-29 09:21:33 +01:00
José Fonseca
c5abcac7ef
llvmpipe: Implement LIT.
2009-08-29 09:21:33 +01:00
José Fonseca
09a7b011ac
llvmpipe: Move lp_build_select to lp_bld_logic.[ch].
2009-08-29 09:21:33 +01:00
José Fonseca
1aae039ee2
llvmpipe: Implement comparison opcodes.
2009-08-29 09:21:33 +01:00
José Fonseca
aede39efd8
llvmpipe: Fix translation of KIL with repeated swizzles.
2009-08-29 09:21:33 +01:00
José Fonseca
81e7ec485d
llvmpipe: Handle floating point selection.
2009-08-29 09:21:33 +01:00
José Fonseca
4d7a8194c5
llvmpipe: Silence compiler warnings.
2009-08-29 09:21:33 +01:00
José Fonseca
7821664b15
llvmpipe: Implement KIL.
2009-08-29 09:21:33 +01:00
José Fonseca
2c90652ed9
llvmpipe: More verbose error message when failed to translate opcodes.
2009-08-29 09:21:33 +01:00
José Fonseca
58f20b2b65
llvmpipe: Detect typos in LLVM intrinsics early.
2009-08-29 09:21:33 +01:00
José Fonseca
1aede69d3a
llvmpipe: Comparisons translation.
2009-08-29 09:21:33 +01:00
José Fonseca
818d444e12
llvmpipe: Disassemble generated x86 code.
2009-08-29 09:21:32 +01:00
José Fonseca
a7f9b915ae
llvmpipe: Shader function arguments don't alias.
2009-08-29 09:21:32 +01:00
José Fonseca
539c55da16
llvmpipe: Test only present functionality to allow regression testing.
2009-08-29 09:21:32 +01:00
José Fonseca
c67570ba85
llvmpipe: Clamp into range when writing integers.
2009-08-29 09:21:32 +01:00
José Fonseca
17aec9304c
llvmpipe: Compute interpolation coeffs directly into SoA layout.
2009-08-29 09:21:32 +01:00
José Fonseca
b6f43b445b
llvmpipe: Pass the interpolation factors as scalars.
2009-08-29 09:21:32 +01:00
José Fonseca
1a004142bb
llvmpipe: Eliminate dependency on tgsi_exec_machine.
2009-08-29 09:21:32 +01:00
José Fonseca
73af91e938
llvmpipe: Eliminate non-LLVM fs execution paths.
2009-08-29 09:21:32 +01:00
José Fonseca
95f38dd67c
llvmpipe: Code generate interpolators.
2009-08-29 09:21:32 +01:00
José Fonseca
af608e56ca
llvmpipe: Factor out lp_build_select from lp_build_select_aos.
2009-08-29 09:21:31 +01:00
José Fonseca
57907e7fd9
llvmpipe: Translate approximate log2/exp2.
2009-08-29 09:21:31 +01:00
José Fonseca
ef1fddb36a
llvmpipe: Handle a few more TGSI opcodes.
2009-08-29 09:21:31 +01:00
José Fonseca
844f802a70
llvmpipe: Efficient implementations of pow/exp/log/exp2/log2
2009-08-29 09:21:31 +01:00
José Fonseca
90e9a4d4f9
llvmpipe: Migrate more SSE2 codegen to LLVM IR.
2009-08-29 09:21:31 +01:00
José Fonseca
1b3c83d699
llvmpipe: Don't assume/enforce fs values are in [0,1] range.
2009-08-29 09:21:30 +01:00
José Fonseca
1709ace359
llvmpipe: Implement more arithmetic functions.
2009-08-29 09:21:30 +01:00
José Fonseca
1929057eac
llvmpipe: Reuse coord/texel store.
2009-08-29 09:21:30 +01:00
José Fonseca
0b6a9b2dbe
llvmpipe: Replace lp_fs_llvm.c.
...
Based on lp_fs_exec.c/lp_fs_sse.c and tgsi_exec.c.
2009-08-29 09:21:30 +01:00
José Fonseca
63b07618b3
llvmpipe: TGSI -> LLVM SoA IR converstion.
...
Based on tgsi_sse2.c.
2009-08-29 09:21:30 +01:00
José Fonseca
9033c44a62
llvmpipe: Dump only the generated function.
2009-08-29 09:21:29 +01:00
José Fonseca
4393ca7956
llvmpipe: Scalar -> vector broadcasting.
2009-08-29 09:21:29 +01:00
José Fonseca
8422f293ab
llvmpipe: More arithmetic ops.
...
Mostly untested.
2009-08-29 09:21:29 +01:00
José Fonseca
36249348ed
llvmpipe: More intrinsic helpers.
2009-08-29 09:21:29 +01:00
José Fonseca
50d77141e8
llvmpipe: Fix typo.
2009-08-29 09:21:29 +01:00
José Fonseca
81644f6315
util: Fix SCons build.
2009-08-29 09:21:28 +01:00
José Fonseca
19b31d0ac8
llvmpipe: Document the typo in llvm-c/Core.h.
2009-08-29 09:21:28 +01:00
José Fonseca
fb56786f60
util: Auto-generate u_format_table.c from SConscript.
2009-08-29 09:21:28 +01:00
José Fonseca
9285f159e0
llvmpipe: Simple description/instructions.
2009-08-29 09:21:28 +01:00
José Fonseca
8edcc8abe3
llvmpipe: Add missing include.
2009-08-29 09:21:27 +01:00
José Fonseca
2101c2941c
llvmpipe: Tiles in rgba8 format.
2009-08-29 09:21:27 +01:00
José Fonseca
3ce1abf950
llvmpipe: Store tile color in SoA.
2009-08-29 09:21:27 +01:00
José Fonseca
29d94a9cbb
llvmpipe: Code generate color masking.
2009-08-29 09:21:27 +01:00
José Fonseca
2d6b39f05e
llvmpipe: Use the generated SoA blending code.
2009-08-29 09:21:27 +01:00
José Fonseca
e7fc21434d
llvmpipe: Handle disabled blending too.
2009-08-29 09:21:27 +01:00
José Fonseca
62c91998ef
xlib: Ensure one screen instance.
2009-08-29 09:21:27 +01:00
José Fonseca
0318f3e53e
llvmpipe: Split the texture cache from the color/depth/stencil cache.
2009-08-29 09:21:27 +01:00
José Fonseca
b836b2593c
xlib: Complete llvmpipe integration.
2009-08-29 09:21:27 +01:00
José Fonseca
2529ed5616
llvmpipe: SoA blending.
...
Throughput seems to be 4x higher.
2009-08-29 09:21:27 +01:00
José Fonseca
20f50b845b
util: Fix blend factor dumping.
2009-08-29 09:21:26 +01:00
José Fonseca
3130b9921c
llvmpipe: Update blending test.
2009-08-29 09:21:26 +01:00
José Fonseca
60584affcf
llvmpipe: Handle more conversions.
...
Not all successfully yet though..
2009-08-29 09:21:26 +01:00
José Fonseca
145de19548
llvmpipe: Use full set of sse4 min/max intrinsics.
2009-08-29 09:21:26 +01:00
José Fonseca
a9771d2b75
llvmpipe: Fix one const generation for some signed integers.
2009-08-29 09:21:26 +01:00
José Fonseca
8244d6e5ad
llvmpipe: Allow floating types without sign.
...
With the meaning that all values are assumed to be positive.
2009-08-29 09:21:26 +01:00
José Fonseca
9493260fdc
llvmpipe: Centralize lp_build_context initialization.
2009-08-29 09:21:25 +01:00
José Fonseca
b07d19a885
llvmpipe: Normalize the cycles with the number of channel.
...
So that we have a comparable number for different formats.
2009-08-29 09:21:25 +01:00
José Fonseca
b874a7b807
llvmpipe: Handle ubyte -> float conversion too.
2009-08-29 09:21:25 +01:00
José Fonseca
b441a0b658
llvmpipe: Make lp_const_offset visible.
2009-08-29 09:21:24 +01:00
José Fonseca
684a47f0f6
llvmpipe: Only get the preprocessor flags from llvm-config.
...
Otherwise we get -O2 optimization flag, preventing proper debugging.
2009-08-29 09:21:24 +01:00
José Fonseca
8988424ee8
llvmpipe: Bootstrap type conversions.
2009-08-29 09:21:24 +01:00
José Fonseca
b19cb0080c
llvmpipe: Use same type for reference vectors.
2009-08-29 09:21:24 +01:00
José Fonseca
d52dce0ffb
llvmpipe: Fix floating point const scale factor.
2009-08-29 09:21:24 +01:00
José Fonseca
e6ebebc485
llvmpipe: Factor out shared test code into a separate module.
2009-08-29 09:21:24 +01:00
José Fonseca
138428bade
llvmpipe: Cleanup constant helpers.
2009-08-29 09:21:23 +01:00
José Fonseca
627d6a6b04
llvmpipe: Move intrinsic helpers to a separate module.
2009-08-29 09:21:23 +01:00
José Fonseca
1165c30dc2
llvmpipe: Collect richer blend data.
2009-08-29 09:21:23 +01:00
José Fonseca
28e46458bc
llvmpipe: Some notes about PSHUF.
2009-08-29 09:21:23 +01:00
José Fonseca
1dd7bb17c7
llvmpipe: Optimize blend swizzles by using bitmasks instead of shuffles for ubytes.
2009-08-29 09:21:23 +01:00
José Fonseca
a77084ea4b
llvmpipe: Write data to a tsv file for posterior analysis.
2009-08-29 09:21:23 +01:00
José Fonseca
f081bacc25
llvmpipe: Move p_build_context to lp_bld_type.h
...
As it will be shared with more modules.
2009-08-29 09:21:23 +01:00
José Fonseca
696f7f2be5
util: New file dedicated to dump state in human/machine readable format.
2009-08-29 09:21:23 +01:00
José Fonseca
5940ba26f7
llvmpipe: Don't use llvm.readcyclecounter.
...
LLVM during optimization reorders the rdtsc instructions next to each
other, which makes it pretty useless.
2009-08-29 09:21:22 +01:00
José Fonseca
64611e086d
llvmpipe: Separate constant building.
2009-08-29 09:21:22 +01:00
José Fonseca
c87fab0008
llvmpipe: Move type support functions into a separate file.
2009-08-29 09:21:22 +01:00
José Fonseca
b94e22e4be
llvmpipe: Measure the number of cycles taken for blending.
2009-08-29 09:21:22 +01:00
José Fonseca
5778970f15
llvmpipe: Minor comments / debug mnemonics.
2009-08-29 09:21:22 +01:00
José Fonseca
02eaa32d83
llvmpipe: Optimize away min/max with equal operands.
2009-08-29 09:21:22 +01:00
José Fonseca
9e92244440
llvmpipe: Improve generated 8bit blending code.
2009-08-29 09:21:22 +01:00
José Fonseca
ede73258a7
llvmpipe: Get blending of normalized 8bit unsigned integers working.
2009-08-29 09:21:22 +01:00
José Fonseca
a6622e6c54
llvmpipe: Specialize arithmetic operations.
2009-08-29 09:21:22 +01:00
José Fonseca
272dadbe4e
llvmpipe: Introduce a custom typing system.
...
Straightforward representation of floating-point/fixed-point/integer,
normalized/scaled, signed/unsigned SIMD vector types.
2009-08-29 09:21:22 +01:00
José Fonseca
f478b6fe76
llvmpipe: Avoid C99-isms.
2009-08-29 09:21:21 +01:00
José Fonseca
fe90e46dc9
llvmpipe: Factor out intrisic calling code into a reusable function.
2009-08-29 09:21:21 +01:00
José Fonseca
7ace0b1f4a
llvmpipe: Cleanup test programs.
2009-08-29 09:21:21 +01:00
José Fonseca
7d043162c5
llvmpipe: Blending.
...
The code
2009-08-29 09:21:21 +01:00
José Fonseca
d2cf3e8dfd
llvmpipe: Arithmetic helpers.
2009-08-29 09:21:21 +01:00
Keith Whitwell
fa3514a57e
llvmpipe: fastpath for interpolated z16 less depthtesting
...
Because this is interpolated (ie. early) depth, we can build in an
assumption about the quads emitted by triangle setup, ie that they
are actually linear spans. Interpolate z over those spans in z16
format to save on math & conversion.
2009-08-29 09:21:21 +01:00
Keith Whitwell
38a1479fe1
llvmpipe: cope with nr_cbufs == 0
...
Disable blend code when no color buffer
2009-08-29 09:21:21 +01:00
José Fonseca
4639f8aad5
llvmpipe: Translate logicops.
2009-08-29 09:21:21 +01:00
José Fonseca
833323b8d0
llvmpipe: Separate pixel packing/unpacking from loading/storing.
2009-08-29 09:21:21 +01:00
José Fonseca
c4903ee27f
xlib: Integrate with llvmpipe.
...
Actually, the makefile/sconscript changes were already commit by mistake.
2009-08-29 09:21:21 +01:00
José Fonseca
b060771612
llvmpipe: Adjust for pixel layout changes.
2009-08-29 09:21:20 +01:00
José Fonseca
42b15b26fd
util: Make pixel format layout more meaningful.
...
Namelly, explicitly distinguish formats coded by arithmetic manipulation,
from formats layed out in array.
2009-08-29 09:21:20 +01:00
José Fonseca
a910c7d820
util: Don't commit u_format_table.c
...
At least not until stabilizes, to reduce noise.
2009-08-29 09:21:20 +01:00
José Fonseca
9a519ec4d1
llvmpipe: Fix typo in copyright.
2009-08-29 09:21:20 +01:00
José Fonseca
3ef44746fe
llvmpipe: Add test cases for pixels.
...
Actually some of this test cases need more testing...
2009-08-29 09:21:20 +01:00
José Fonseca
899bee2788
util: Fix r5g6b5 description.
2009-08-29 09:21:19 +01:00
José Fonseca
3ace63c00f
llvmpipe: Update SConscript.
2009-08-29 09:21:19 +01:00
José Fonseca
b023c1dc68
llvmpipe: Simple shell script to aid port softpipe changes to llvmpipe.
2009-08-29 09:21:19 +01:00
Keith Whitwell
05bfd93c3f
llvmpipe: move all depth/stencil/alpha pixel processing into one stage
2009-08-29 09:21:19 +01:00
Keith Whitwell
b8c437f20f
llvmpipe: fix error in scissor state dependencies
2009-08-29 09:21:18 +01:00
Keith Whitwell
c5375da1dc
llvmpipe: cleanup framebuffer state routine slightly
2009-08-29 09:21:18 +01:00
Keith Whitwell
90caf1a3f3
llvmpipe: move all color-combine code into lp_quad_blend.c
...
Consolidate the read-modify-write color combining code from
the blend, colormask and output stages.
2009-08-29 09:21:18 +01:00
Keith Whitwell
54c6ef144f
llvmpipe: fix typo
2009-08-29 09:21:18 +01:00
Keith Whitwell
3c71a19016
llvmpipe: example fastpaths in blending
2009-08-29 09:21:18 +01:00
Keith Whitwell
80eb276630
llvmpipe: actually pass >1 quad from triangle routine
...
First attempt
2009-08-29 09:21:18 +01:00
Keith Whitwell
bdbb4beb21
llvmpipe: expand quad pipeline to process >1 quad at a time
...
This is part one -- we still only pass a single quad down, but
the code can now cope with more. The quads must all be from the same
tile.
2009-08-29 09:21:18 +01:00
Keith Whitwell
4486012245
llvmpipe: rip out old mulithread support
2009-08-29 09:21:18 +01:00
Keith Whitwell
2a7c39a211
llvmpipe: avoid flushing depth buffer cache on swapbuffers
...
There's no need to push out depth buffer contents on swapbuffers.
Note that this change doesn't throw away depth buffer changes, it simply
holds them in the cache over calls to swapbuffers. The hope is
that swapbuffers will be followed by a clear() which means in that case
we won't have to write the changes out.
2009-08-29 09:21:17 +01:00
Keith Whitwell
3adca96114
llvmpipe: also shortcircuit non-texture tile lookups
2009-08-29 09:21:17 +01:00
Keith Whitwell
2301314e7c
llvmpipe: shortcircuit repeated lookups of the same tile
...
The lp_tile_cache is often called repeatedly to look up the same
tile. Add a cache (to the cache) of the single tile most recently
retreived and make a quick inline check to see if this matches the
subsequent request.
Add a tile_address bitfield struct to make this check easier.
2009-08-29 09:21:17 +01:00
Keith Whitwell
df1823ec5b
llvmpipe: remove unused vars in lp_setup.c
2009-08-29 09:21:17 +01:00
Keith Whitwell
08811032c2
llvmpipe: use bitwise logic to setup quad masks in lp_setup
2009-08-29 09:21:17 +01:00
Keith Whitwell
0aa24fa36f
llvmpipe: simplify flush_spans
...
No loss of performance, but simpler code.
2009-08-29 09:21:17 +01:00
Keith Whitwell
0f55a95b2f
llvmpipe: make some small steps to flush texture cache less frequently
...
No performance gain yet, but the code is a bit cleaner.
2009-08-29 09:21:16 +01:00
Keith Whitwell
3121484a8b
llvmpipe: remove backwards dependency from tilecache to llvmpipe
...
The tile cache is a utility, it shouldn't know anything about the
entity which is making use of it (ie llvmpipe).
Remove llvmpipe parameter to all the tilecache function calls, and
also remove the need to keep a llvmpipe pointer in the sampler structs.
2009-08-29 09:21:16 +01:00
José Fonseca
c9a5930fe4
llvmpipe: Rename preprocessor symbols too.
2009-08-29 09:21:16 +01:00
José Fonseca
8783732c4d
llvmpipe: Pixel packing/unpacking and loop code generators.
...
Just a small proof of concept plus a standalone test app. Not integrated
with the rest of the driver yet.
2009-08-29 09:21:16 +01:00
José Fonseca
15422b2d99
util: Pixel format database.
...
There are some inconsistencies in pipe_format, but above all, there
simply aren't enough bits in an enum to conveniently store all
information about a pixel format we need to be able to dynamically
generate pixel packing/unpacking code.
2009-08-29 09:21:15 +01:00
José Fonseca
946f432a08
llvmpipe: Fork softpipe for experimentation with llvm.
2009-08-29 09:21:15 +01:00
Jakob Bornecrantz
55e7abf81f
i915g: Add cursor case for scanout layout
2009-08-28 22:41:53 +01:00
Jakob Bornecrantz
644060c025
i915g: Don't forget to init buffer ptrs
2009-08-28 22:41:52 +01:00
Zack Rusin
aaedd035ca
st/xorg: disable composite accelration for now
2009-08-28 16:19:53 -04:00
Zack Rusin
0a26811286
st/xorg: bind samplers before composition
2009-08-28 15:43:46 -04:00
Zack Rusin
f1c0a4b2f4
st/xorg: normalize coords for the src operands in the vertex shader
2009-08-28 15:36:33 -04:00
Joakim Sindholt
dbe58d7f9f
r300g: pretty up the new drm code a bit
...
As it turns out, I made some boners. This corrects them (I hope)
2009-08-28 20:05:52 +02:00
Jakob Bornecrantz
1e9eb69f83
st/xorg: If migrating from a sw pixmap to a hw pixmap upload old contents
2009-08-28 17:10:58 +02:00
Jakob Bornecrantz
d80242c254
st/xorg: Null devPrivate.ptr when unmapping
2009-08-28 17:10:57 +02:00
Michel Dänzer
fdc8ec60eb
st/xorg: Fix scons build.
2009-08-28 17:42:07 +02:00
Joakim Sindholt
6bfec14d6d
r300g: support new drm_api
2009-08-28 17:23:11 +02:00
Jakob Bornecrantz
1e5014f7df
drm_api: Operate on textures instead of buffers
...
Most use cases just got the buffer from the texture
and then called into one of the get_handle functions.
Also with this patch it would be easier to move to a
generic function for getting handles from textures
and textures from handles, that is exposed via the screen.
2009-08-28 13:38:23 +01:00
José Fonseca
9399b9a0e2
util: Reset size to zero when failed to allocate buffer.
2009-08-28 12:52:31 +01:00
Jakob Bornecrantz
7d9af52bc5
st/xorg: Fix some warnings
2009-08-28 12:46:24 +02:00
Jakob Bornecrantz
b26aee0ffe
st/dri: Fix some warnings
2009-08-28 12:46:17 +02:00
Jakob Bornecrantz
6f0a1a8426
st/xorg: Pass dri driver name as driverName on screen
2009-08-28 12:36:42 +02:00
Jakob Bornecrantz
205d344e2a
Revert "st/xorg/dri: Pass texture formats via the DRI2 protocol flags."
...
This reverts commit a33e9ea3b9
.
As this change breaks both radeon and nouveau
2009-08-28 12:35:42 +02:00
Zack Rusin
8bdce0c3a7
st/xorg: set vertex and fragment shader for the current op
2009-08-27 18:17:54 -04:00
Zack Rusin
c7e103d238
st/xorg: bind rasterizer state
2009-08-27 18:08:58 -04:00
Zack Rusin
2048182e86
st/xorg: set blend state for exa
2009-08-27 18:06:15 -04:00
Zack Rusin
f9a3fce090
st/xorg: bind framebuffer and viewport for exa
2009-08-27 17:39:45 -04:00
Zack Rusin
3f15ea866f
st/xorg: create and destroy shader cache
2009-08-27 17:39:45 -04:00
Michel Dänzer
416ee3c53e
st/xorg: Set shared usage of pixmaps for use via DRI2.
...
Also allow pixmaps to have both the shared and displayed usage flags, as is
the case for the screen pixmap now.
2009-08-27 20:29:32 +02:00
Michel Dänzer
bfbfcdd703
st/dri: Make sure the front left renderbuffer is there for texture-from-pixmap.
2009-08-27 20:27:28 +02:00
Michel Dänzer
d73d4cfcf1
st/xorg: Don't hardcode ExaPrepareCopy to fall back to software.
2009-08-27 20:27:28 +02:00
Michel Dänzer
05aa56a827
st/xorg: Flush context if necessary in ExaPrepareAccess.
2009-08-27 20:27:28 +02:00
Michel Dänzer
f3a540f6d7
st/dri: Only ask for fake front buffer for single buffer visuals by default.
2009-08-27 20:17:53 +02:00
Michel Dänzer
a33e9ea3b9
st/xorg/dri: Pass texture formats via the DRI2 protocol flags.
...
No need to guess.
2009-08-27 20:17:53 +02:00
Brian Paul
44e86dde6d
Merge branch 'mesa_7_5_branch'
2009-08-27 09:14:09 -06:00
Brian Paul
32f95f8c17
gallium/util: added support for SRGB formats
...
Fixes glean/texture_srgb failure, bug #23449 .
2009-08-27 09:10:38 -06:00
Brian Paul
f8ae968d28
gallium/util: added cases for SRGB formats
2009-08-27 09:09:56 -06:00
Cooper Yuan
ba87cbf2be
r300g: Correct scissor setting, subtract 1 from window's width and height
2009-08-27 17:46:59 +08:00
Younes Manton
7d3b8231e1
nv04: Handle more Z formats.
...
Based on the patch from Luo Jinghua.
2009-08-26 20:07:51 -04:00
Chia-I Wu
c06699dd12
egl_softpipe: Make winsys and pipe screen per display.
...
This is to allow a driver to drive multiple displays. Remove the use of
_EGL_PLATFORM_X along the way.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-26 16:40:22 -06:00
Chia-I Wu
49f245ea6b
EGL_i915: Make struct drm_device per display.
...
This is to allow a driver to drive multiple displays.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-26 16:40:22 -06:00
Zack Rusin
a0966c41a9
st/xorg: create basic vertex shader
2009-08-26 12:50:47 -04:00
Zack Rusin
b324aacf13
st/xorg: create basic fragment shader
2009-08-26 12:50:47 -04:00
Jakob Bornecrantz
53b3cdaee2
st/dri: Add some debug code
2009-08-26 14:30:54 +02:00
Jakob Bornecrantz
57230d96ed
st/xorg: Temporary fix for none stencil visuals
...
Should be replaced with something looking at the proper
glx visual for the buffers.
2009-08-26 14:27:50 +02:00
Jakob Bornecrantz
23fe960be0
st/xorg: Find out correct type for depth stencil buffers
2009-08-26 13:45:31 +02:00
Jakob Bornecrantz
aab0bedb8c
st/dri: Redo config generation
2009-08-26 12:29:28 +02:00
Michel Dänzer
b2e1b25881
st/xorg: Add support for dirty framebuffer region reporting.
...
Add a BlockHandler which flushes the context and reports the dirty region
gathered using the X server damage layer.
In the interim, with dirty region reporting only allocate textures for the
framebuffer and shared pixmaps (e.g. DRI2 buffers) and fall back to software
for other pixmaps. This will be improved in the future.
2009-08-26 13:18:37 +02:00
Ben Skeggs
1664bc1a37
st/dri: make the GL_ARB_map_buffer_range entrypoints available
2009-08-26 16:18:39 +10:00
Zack Rusin
7bc4744026
xorg: insert shaders into the cache
2009-08-25 14:22:26 -04:00
Zack Rusin
23b59d3b40
exa: add basic code to cache vertex and fragment shaders
2009-08-25 14:01:58 -04:00
Zack Rusin
c7653a8333
exa: check whether the op is accelerated
2009-08-25 13:23:08 -04:00
Zack Rusin
65f9d10342
xorg: revert bad merge
2009-08-25 09:58:51 -04:00
Michel Dänzer
d22bd1421c
Add support for building the Xorg state tracker with scons.
...
scons ... statetrackers=xorg
2009-08-25 15:39:05 +02:00
Zack Rusin
ffe8cc6cef
xorg: fix compilation
2009-08-24 18:42:16 -04:00
Zack Rusin
17076d700c
xorg: start on code accelerating render
2009-08-24 18:39:01 -04:00
Zack Rusin
cd5c7bfd93
Merge branch 'master' of ssh://zack@git.freedesktop.org/git/mesa/mesa
2009-08-24 16:39:25 -04:00
Zack Rusin
534c133022
openvg: fix vgTransformPath with relative coords
2009-08-24 16:38:43 -04:00
Brian Paul
69170a4aae
xlib: fix single buffer window resize bug
...
When a single-buffered window was resized the new window size was never
detected. This fix that, but there's still a bug which causes window
contents corruption for certain window sizes...
2009-08-24 13:05:20 -06:00
Brian Paul
b5ecbbe636
xlib: fix single buffer window resize bug
...
When a single-buffered window was resized the new window size was never
detected. This fix that, but there's still a bug which causes window
contents corruption for certain window sizes...
2009-08-24 12:58:49 -06:00
Cooper Yuan
a88678d3ee
tgsi: Fix build error due to commit acc7da90
2009-08-24 19:50:38 +08:00
José Fonseca
02c523dfbb
tgsi: Only free temp uregs.
...
Shorthand.
(cherry picked from commit de911220bbbe74cff0c79b260456ff36122b7b5b)
2009-08-24 12:11:24 +01:00
José Fonseca
acc7da9035
tgsi: Pass pipe_context as a parameter to ureg_create_shader.
...
Simplifies migration to tgsi_ureg.
(cherry picked from commit f574398c07c41cb8d31249a7186fc178ef7d552a)
2009-08-24 12:11:22 +01:00
Keith Whitwell
b570a7e6b6
tgsi: add generic instruction builder
...
When translating an incoming shader (rather than building one from scratch)
it's preferable to be able to call a single, generic instruction emitter
rather than figuring out which of the opcode-specific functions to call.
2009-08-24 11:33:38 +01:00
Keith Whitwell
fd19e8adcd
softpipe: use one fewer divide in sample_cube
...
GCC won't do this for us. Makes a bigger difference to cubemap fps
than previous set of compilcated rearrangements.
2009-08-24 08:26:33 +01:00
Keith Whitwell
60adc15ba5
softpipe: separate out 2d and cube img filter functions
2009-08-24 08:26:32 +01:00
Keith Whitwell
81601d85ef
softpipe: make the various get_texel routines more similar
...
Remove arguments, return const float * by default. Add specialized 3d
versions and remove 3d texture support from the others.
2009-08-24 08:26:17 +01:00
Cooper Yuan
7ee4f32dcd
r300g: Set the vector address in the input memory for bypass_vs_clip_and_viewport case
2009-08-24 13:56:23 +08:00
Keith Whitwell
153e474d22
softpipe: lift tex_address construction up to img_filter
...
For fastpaths at least, can avoid recalculating this sometimes.
2009-08-23 13:38:10 +01:00
Keith Whitwell
4fe0fc3eba
softpipe: remove old prim_setup draw stage
...
Everything now goes through the draw_vbuf handler, the same as
regular drivers.
2009-08-23 11:22:41 +01:00
Keith Whitwell
47800c572f
softpipe: add missing header
2009-08-23 11:13:20 +01:00
Keith Whitwell
7670102468
Merge branch 'tex-tilecache' into softpipe-opt
...
Conflicts:
src/gallium/drivers/softpipe/sp_state_derived.c
src/gallium/drivers/softpipe/sp_state_sampler.c
src/gallium/drivers/softpipe/sp_tex_sample.c
src/gallium/drivers/softpipe/sp_tex_sample.h
src/gallium/drivers/softpipe/sp_tile_cache.c
2009-08-23 10:23:46 +01:00
Jakob Bornecrantz
54fb71b863
st/dri: Remove some debug prints
2009-08-22 02:16:02 +01:00
Jakob Bornecrantz
a3e59b9d06
st/dri: Find out if the drawable is a pixmap
...
Part of this code is disabled since no performance gains
where detected with it enabled.
This code only detects if it is a pixmap that it is
rendering to on the st/xorg DDX since it sets the fake
front to the same handle as front.
2009-08-22 02:16:02 +01:00
Jakob Bornecrantz
6237ac2412
st/dri: Fix frontbuffer rendering with DRI2
2009-08-22 02:16:01 +01:00
Jakob Bornecrantz
29165a2fcc
st/xorg: Handle fake fronts correctly for pixmaps
2009-08-22 02:10:18 +01:00
Jakob Bornecrantz
a469b4c459
i915g: Remove bad assert on fence
2009-08-22 02:09:59 +01:00
Brian Paul
0f24886f92
softpipe: remove duplicate #include, move another
2009-08-21 14:07:37 -06:00
Brian Paul
d204659c8c
softpipe: remove tex sample dependencies on softpipe
...
The texture sampling code doesn't really have any dependencies on the
rest of softpipe, just the tile cache.
2009-08-21 14:04:51 -06:00
Brian Paul
3adc8c3779
softpipe: minor code refactoring to remove softpipe/tile cache dependencies
...
The tile cache code now has no hard dependencies on softpipe.
2009-08-21 14:01:58 -06:00
Brian Paul
4256c5829f
softpipe: remove unused #includes, white-space clean-up
2009-08-21 13:47:50 -06:00
Brian Paul
46fbc87288
softpipe: remove unneeded const qualifier
2009-08-21 13:45:16 -06:00
Brian Paul
a29447c33d
softpipe: per-unit sampler varients
...
Can't share sampler varients across multiple tex units because the texture
pointer is in the sampler varient. That prevents different textures per unit.
Fixes progs/demos/multiarb, progs/glsl/samplers, etc.
2009-08-21 12:44:04 -06:00
Brian Paul
87ec83afd5
softpipe: add missing PIPE_TEXTURE_CUBE case in get_lambda_func()
...
Fixes progs/demos/cubemap
2009-08-21 11:47:31 -06:00
Keith Whitwell
ecfa8be150
softpipe: add missing sp_sampler_varient_destroy
2009-08-21 18:44:56 +01:00
Brian Paul
cf102b031e
softpipe: remove redundant comparison, make test easier to understand
2009-08-21 11:43:48 -06:00
Brian Paul
41483627f0
softpipe: fix min/mag filter typo
2009-08-21 11:41:29 -06:00
Brian Paul
4e5c385d21
softpipe: fix s/t/p typos
2009-08-21 11:40:33 -06:00
Keith Whitwell
4fc7d0345a
softpipe: rework texture sampling code
...
Split into component pieces, stitch together at runtime using function
pointers. Make it possible to utilize the existing fastpaths as image-level
filters for generic mip-filtering routines.
Remove special case for rectangle filtering, as it can now be handled by
the 2d path.
As most of the mesa demo texturing was already covered by fast paths, its
harder to find examples of speedups, but tunnel gets a boost as mip-nearest
filtering is now able to access the img_2d_linear_wrap_POT functions
for sampling within a mipmap level.
2009-08-21 18:14:19 +01:00
Keith Whitwell
b1cc196e6d
util: add util_is_power_of_two function
2009-08-21 18:07:35 +01:00
Chia-I Wu
1f871a4d15
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>
2009-08-21 08:34:34 -06:00
Jakob Bornecrantz
9b3e5df900
st/egl: Add support for drmModeDirtyFB command if found
2009-08-21 15:04:21 +02:00
Christoph Bumiller
d7c55555ac
nv50: use VTX_ATTR_nF for constant vtxelts
2009-08-20 21:41:39 +02:00
Christoph Bumiller
6d1f63f520
nv50: set vertex buffer limits
2009-08-20 21:41:39 +02:00
Christoph Bumiller
80c5ab1586
nv50: modify vbo format to hw translation, add BGRA swizzle
2009-08-20 21:41:39 +02:00
Keith Whitwell
00c8359182
softpipe: allow the existing sampler routines to be hooked up directly
...
Let eg. sp_get_samples_rect be hooked directly in as the tgsi sampler
routine.
Add a field to determine whether this is a vertex or fragment sampling
call, and massage parameters to match the tgsi call.
2009-08-20 18:36:57 +01:00
Keith Whitwell
0d9979d9ec
softpipe: fix xpot calculation typo in sp_get_samples_2d_nearest_clamp_POT
2009-08-20 18:13:25 +01:00
Keith Whitwell
1fd40e506c
softpipe: slightly optimized tiling calculation
2009-08-20 18:12:44 +01:00
Keith Whitwell
79a7ddb57a
softpipe: fix glitch in texel lookups on fastpaths
...
Fixes two issues - firstly for mipmap levels with one or more
dimensions smaller than tilesize, the code was sampling off the edge
of the texture (but still within the tile).
Secondly, in the linear_mipmap_linear case, both the default code and
new fastpath were incorrect. This change fixes the fastpath and adds
a comment to the default path, which still needs to be fixed.
Basically the issue is that the coordinates in the smaller texture
level are/were being computed by just dividing thecoordinates from the
larger texture level by two, as in:
x0[j] /= 2;
y0[j] /= 2;
x1[j] /= 2;
y1[j] /= 2;
The issues with this are signficant. Initially x1 is most often equal
to x0+1, but after this, it will likely be equal to x0, so we will not
actually be performing the linear blend within the smaller mipmap.
The fastpath code avoided this (recalculated x1), but was still using
the weighting factors from the larger mipmap level (xw, yw), which
were incorrect.
Change the fastpath code to do two full, independent linear samples of
the two mipmap levels before blending. The default code needs to do
the same thing.
2009-08-20 17:59:39 +01:00
Brian Paul
ce723d8d8b
tgsi: check for SOA dependencies in SSE and PPC code generators
...
Fall back to interpreter for now. This doesn't happen very often.
2009-08-20 10:34:45 -06:00
Brian Paul
4c7c294fff
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.
2009-08-20 10:28:22 -06:00
Brian Paul
5e6d21afa4
tgsi: added tgsi_full_instruction::Flags field
...
Users of the parser can make use of this.
2009-08-20 10:25:55 -06:00
Jakob Bornecrantz
e93d41d24f
st/egl: Open the first drm node
...
At least its better then hardcoded to i915
2009-08-20 17:50:30 +02:00
Brian Paul
45cd9d80db
tgsi: when printing/dumping programs indent loops and conditionals
2009-08-20 10:52:12 -06:00
Brian Paul
1645adc551
tgsi: check for SOA dependencies in SSE and PPC code generators
...
Fall back to interpreter for now. This doesn't happen very often.
2009-08-20 10:52:12 -06:00
Brian Paul
013bd4da1a
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.
2009-08-20 10:52:12 -06:00
Brian Paul
fffcecc4d9
tgsi: added tgsi_full_instruction::Flags field
...
Users of the parser can make use of this.
2009-08-20 10:51:55 -06:00
Keith Whitwell
4f409da345
softpipe: optimized path for simple mipmap sampling
...
linear-mip-linear-repeat-POT sampling faspath, provides a very nice
speedup to apps that do this common type of texturing.
Test case: demos/terrain, turn fog off, turn texturing on.
Without patch: 12 fps
With patch: 20 fps.
2009-08-20 11:25:20 +01:00
Brian Paul
8604a896a6
gallium: rename copy/fill_rect utility functions
2009-08-19 13:17:58 -06:00
Brian Paul
4522cdbfdd
gallium: fix tags target in Makefile.template
2009-08-19 13:17:58 -06:00
José Fonseca
c69d9296fb
tgsi: Add missing include.
...
(cherry picked from commit d2787c02c130b1fe20d0c032d468622f2fdaef79)
2009-08-19 12:03:34 +01:00
José Fonseca
b2f3f7dd12
tgsi: Fix typo in ureg constant creation.
...
(cherry picked from commit aa40c9abc7787fdf46cb661a4d0bb8bec513fc63)
2009-08-19 12:03:10 +01:00
Keith Whitwell
dd5ac3cafc
st/xlib: remove a couple more 'fake' references
2009-08-19 12:02:53 +01:00
Keith Whitwell
515a820021
st/xlib: remove dead ungrab helper
2009-08-19 12:02:53 +01:00
Keith Whitwell
65079afcde
tgsi: silence compiler warning
2009-08-19 12:00:24 +01:00
Keith Whitwell
7dc5527592
tgsi: remove unused function argument
2009-08-19 12:00:03 +01:00
Keith Whitwell
265e210edb
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.
2009-08-19 11:54:26 +01:00
Corbin Simpson
e327845e2b
r300g: Force off ZTOP optimizations for now.
2009-08-18 21:25:53 -07:00
Corbin Simpson
0086a84e2d
r300g: Utilize DONTBLOCK.
...
Also ALGYRHYTHMS.
2009-08-18 21:25:53 -07:00
Corbin Simpson
c0bc070ff5
radeon-gallium: Oh, look, we *do* already support DONTBLOCK.
...
Well, okay, the kernel doesn't, but that's no excuse for us! :3
2009-08-18 21:25:53 -07:00
Corbin Simpson
a381ee8266
r300g: Massively cleanup OQ.
...
Still broken, but compiles cleaner, behaves better, etc.
2009-08-18 21:25:53 -07:00
Corbin Simpson
4092f318db
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.
2009-08-18 21:25:53 -07:00
Corbin Simpson
14378cbd2d
radeon-gallium: Stop using outdated ioctls.
2009-08-18 21:25:53 -07:00
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
Keith Whitwell
c84abe36a9
softpipe: fix typo in clear_tile
2009-08-18 16:55:10 +01:00
Keith Whitwell
80c78472ad
softpipe: split texture and surface tile caches
...
These do similar jobs but with largely disjoint code. Will want
to evolve them separately going forward.
2009-08-18 16:55:10 +01:00
Brian Paul
1c1ee1176d
gallium: improved comments, minor whitespace changes
2009-08-18 09:31:22 -06:00
Keith Whitwell
d12bae9368
softpipe: move flatshade-first check out of loop
2009-08-18 16:21:12 +01: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
Brian Paul
0528d6c704
gallium/glx/xlib: rename glxapi.c to glx_getproc.c
2009-08-12 10:32:22 -06:00
Brian Paul
f546fa00aa
gallium/glx/xlib: don't include fakeglx.h
2009-08-12 10:32:22 -06:00
Brian Paul
4a4039e199
gallium/glx/xlib: overhaul and simplification of the Gallium Xlib-based GLX
...
The old GLX dispatch table stuff isn't needed (same story for the Mesa/Xlib
driver). The intention of that code was being able to switch on the fly
between the real GLX library and the fake/Xlib-based emulation. That hasn't
been used in a long time.
Next up: some file renaming.
2009-08-12 10:32:22 -06:00
Brian Paul
9ba19b892c
gallium/trace: remove stray semicolons
2009-08-11 20:34:21 -06:00
Brian Paul
b681f396e6
gallium/xlib: add missing tex_usage parameter
2009-08-11 20:34:21 -06:00
Brian Paul
6deaa6d4b1
gallium/egl: add missing tex_usage parameter
2009-08-11 20:34:21 -06:00
Brian Paul
2e8be3ab79
gallium/xlib: add missing tex_usage parameter
2009-08-11 20:34:21 -06:00
Brian Paul
26a762c2f6
gallium/identity: remove stray semicolons
2009-08-11 20:34:21 -06:00
Jakob Bornecrantz
164d8e8701
i915g: Reduce max relocs
2009-08-12 03:58:38 +02:00
Jakob Bornecrantz
df9f27822e
i915g: Check relocs as well
2009-08-12 03:58:37 +02:00
Jakob Bornecrantz
7a60ed2015
i915g: Implement surface_buffer_create for softpipe
...
In order to run softpipe on st/xorg we need this function
2009-08-11 18:37:09 +01:00
Jakob Bornecrantz
a41a253ce3
gallium: Add texture usage information to surface_buffer_create
...
We need aditional meta data about the usage of the surface
in softpipe because we need to be able tell the diffrence
between PRIMARY and DISPLAY_TARGET surfaces.
2009-08-11 18:34:43 +01:00
Keith Whitwell
99ec78d946
Revert "softpipe: rearrange blend fastpaths"
...
This reverts commit 1295cf423e
.
The original formulation was easier to understand & work with. Will
revisit this later.
2009-08-11 18:23:28 +01:00
Keith Whitwell
da319095f2
softpipe: reduce textual differences between exec and sse shader paths
...
Unshare one function (setup_pos_vector) as we want to push this code
into the generated shader in the SSE case.
2009-08-11 18:06:16 +01:00
Keith Whitwell
b5c389721a
softpipe: remove gallivm fragment shaders
...
However we do llvm integration, it will be different & more comprehensive
than this.
2009-08-11 18:03:01 +01:00
Brian Paul
bb45e6f07b
gallium: fix debug_printf() format string
2009-08-11 09:30:12 -06:00
Michel Dänzer
e93be5132c
r300g: Fix up remaining VAP_CNTL_STATUS writes for big endian.
2009-08-11 09:16:48 +02:00
Michel Dänzer
bb91368003
r300g: Emit relocations for pitch registers.
...
Fixes CS failures with tiling enabled kernels.
2009-08-11 09:13:12 +02:00
Cooper Yuan
2cbd3fce8f
r300g: a typo of debug message
2009-08-11 14:39:58 +08:00
Corbin Simpson
10b9d9f895
r300g: Knock out another fragment of invariant state.
...
Colorbuffer setup will always happen.
2009-08-07 20:50:42 -07:00
Corbin Simpson
847fcb645c
gallium: Move minify() to u_math.
...
minify() is usually used in mipmap size calculation. Strangely enough,
we all defined it as MAX2(1, d >> 1); imagine that. :3
2009-08-07 20:50:42 -07:00
Corbin Simpson
c58133b81a
r300g: Remove r300_constant_buffer::user_count.
...
Not needed with new compiler.
2009-08-07 20:50:42 -07:00
Jakob Bornecrantz
7de5e60c18
i915g: Don't forget x/y coords in transfers
...
Fixes demos/ray.
2009-08-08 03:20:24 +02:00
Jakob Bornecrantz
738e02c3c8
i915g: Don't try to free a mapped buffer at shutdown
2009-08-08 03:19:01 +02:00
Brian Paul
9de26ccbcc
util: fix incorrect assertion
...
Check that the dest surface/format is renderable.
2009-08-07 13:48:26 -06:00
Brian Paul
f36d012191
util: include u_surface.h, added comment
2009-08-07 13:48:26 -06:00
Brian Paul
513a82cb1b
util: use util_same_surface() to compare surface pointers
2009-08-07 13:48:26 -06:00
Brian Paul
abb120fe5b
util: added util_same_surface() helper function
2009-08-07 13:48:26 -06:00
Brian Paul
9676ed27fe
util: fix incorrect assertion
...
Check that the dest surface/format is renderable.
2009-08-06 14:58:06 -06:00
Brian Paul
98f00e8eb9
util: include u_surface.h, added comment
2009-08-06 14:54:25 -06:00
Brian Paul
24fdf8aadb
util: use util_same_surface() to compare surface pointers
2009-08-06 09:47:13 -06:00
Brian Paul
ffb1f9bded
util: added util_same_surface() helper function
2009-08-06 09:47:13 -06:00
Jakob Bornecrantz
8662f2c542
i915g: Compile with scons
2009-08-06 13:50:46 +01:00
Jakob Bornecrantz
c818efd0b3
identity: Use the correct texture
2009-08-06 13:20:49 +01:00
Jakob Bornecrantz
b6c6551686
st/xorg: If we have DRI2 we should also have some sort of hw support
2009-08-06 00:52:13 +01:00
Jakob Bornecrantz
b6c9401f13
i915g: Always run in sync with the HW
2009-08-06 00:52:13 +01:00
Jakob Bornecrantz
901b87547e
i915g: The i915 seems more happier with sampler domain so lets use that
2009-08-06 00:52:13 +01:00
Jakob Bornecrantz
7a20f50c60
i915g: Dirty fix for VBO module double flush assert
2009-08-06 00:52:13 +01:00
Jakob Bornecrantz
66b00380a2
i915g: Switch to mapping the batch buffer instead of using subdata
2009-08-06 00:52:13 +01:00
Chia-I Wu
6f97a41964
egl_softpipe: Add support for pbuffer binding.
...
This adds support for eglBindTexImage and eglReleaseTexImage. They rely
on the state tracker to do the real work.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-05 16:08:07 -06:00
Chia-I Wu
0153614cb0
egl_softpipe: Flush when switching current context.
...
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-05 16:07:39 -06:00
Brian Paul
1f71305993
Merge branch 'mesa_7_5_branch'
...
Conflicts:
src/mesa/main/state.c
2009-08-05 14:13:48 -06:00