Commit Graph

5006 Commits

Author SHA1 Message Date
Dave Airlie 20d3c85128 r300g: add z16 unorm texture format 2009-09-26 18:24:34 +10:00
Dave Airlie 07183b73eb r300g: fix texture pitch to correct value.
pitch is pixels - 1, not bytes.
2009-09-26 16:39:13 +10:00
Michel Dänzer c19482b16f st/xorg: Re-enable accelerated fills and copies.
These seem to work well enough now with the new code. Composite acceleration
isn't quite there yet and thus remains disabled in xorg_composite_bind_state()
for now.
2009-09-25 20:49:53 +02:00
Michel Dänzer 07e2d6edfa st/xorg: Flush render cache if but only if a source has pending write operations. 2009-09-25 20:49:53 +02:00
Michel Dänzer 626553f327 st/xorg: Reject Composite acceleration for some cases not working yet. 2009-09-25 20:49:53 +02:00
Michel Dänzer 9c449502a2 st/xorg: Make sure struct is fully initialized.
gcc complained about a missing initializer.
2009-09-25 20:49:00 +02:00
Michel Dänzer b0ddfe8a3d st/xorg: Use generic semantic for Composite mask coordinates. 2009-09-25 20:38:49 +02:00
Michel Dänzer ac2e0ddcd8 st/xorg: Flesh out EXA PrepareComposite hook a little.
Check that the formats are supported, and don't crash with source-only
pictures.
2009-09-25 20:38:49 +02:00
Michel Dänzer b97547027e st/xorg: Use I8 format instead of A8 for depth 8 pixmaps.
Seems to work better for Composite acceleration.
2009-09-25 20:38:49 +02:00
Michel Dänzer 67fb13ba68 st/xorg: Bind rasterizer state for copies. 2009-09-25 20:38:49 +02:00
Michel Dänzer 7edda9350a st/xorg: Source-only pictures always have format PICT_a8r8g8b8.
See xserver/render/picture.c:createSourcePicture(). This both simplifies the
code and avoids a crash because pFormat is NULL.
2009-09-25 20:38:49 +02:00
Michel Dänzer 07f107467e st/xorg: Better checks for unsupported component alpha pictures. 2009-09-25 20:38:49 +02:00
Michal Krol 69c7fc128c softpipe: Grab fs output z from the correct file. 2009-09-25 18:52:13 +02:00
Michal Krol a0fbc01cea softpipe: Do not advertise support for L16 and YCBCR formats. 2009-09-25 18:52:12 +02:00
Christoph Bumiller 5f4f7ad965 nv50: fix TEX for WriteMask not equal 0xf
If you e.g. only need alpha, it ends up in the first reg,
not the last, as it would when reading rgb too.
2009-09-25 11:01:45 +02:00
Christoph Bumiller 513cadf5af nv50: actually enable view volume clipping
Until now, only primitives wholly outside the view volume
were not drawn.
This was only visibile when using a viewport smaller than
the window size, naturally.
2009-09-25 11:01:45 +02:00
Christoph Bumiller 001daf78c8 nv50: RCP and RSQ cannot load from VP inputs 2009-09-25 11:01:45 +02:00
Christoph Bumiller ef6805710d nv50: fix CEIL and TRUNC
Separated the integer rounding mode flag for cvt.
2009-09-25 11:01:45 +02:00
Christoph Bumiller e2b8dc3e38 nv50: implement BGNLOOP, BRK, ENDLOOP
There's a good chance a loop won't execute correctly
though since our TEMP allocation assumes programs to
be executed linearly. Will fix later.
2009-09-25 11:01:44 +02:00
Christoph Bumiller 1196f9fbd6 nv50: implement IF, ELSE, ENDIF opcodes 2009-09-25 11:01:44 +02:00
Cooper Yuan 16a6ca9b2b r300g: add texture format for xvmc 2009-09-25 15:15:20 +08:00
Zack Rusin 228aa45fcb st/xorg: start working on the Xv acceleration code 2009-09-24 19:20:41 -04:00
Zack Rusin 80965fca74 st/xorg: fills are supported plussome minor clenups 2009-09-24 19:20:41 -04:00
Zack Rusin 53d2fa46e7 st/xorg: add easier way of disabling/enabling acceleration 2009-09-24 19:20:41 -04:00
Brian Paul 01249c6d56 llvmpipe: add missing __FUNCTION__ parameter to debug_printf() calls 2009-09-24 16:08:47 -06:00
Brian Paul a665a3416e llvmpipe: increase max 3D texture size to 256 2009-09-24 16:07:45 -06:00
Brian Paul 29d27229a9 Merge branch 'mesa_7_6_branch'
Conflicts:

	src/mesa/vbo/vbo_exec_array.c
2009-09-24 16:06:21 -06:00
Brian Paul 940ca2e837 Merge branch 'mesa_7_5_branch' into mesa_7_6_branch 2009-09-24 16:01:26 -06:00
Vinson Lee 1730b8db12 softpipe: Increase GL_MAX_3D_TEXTURE_SIZE to 256. 2009-09-24 15:59:57 -06:00
Brian Paul c9f7a23ef0 Merge branch 'mesa_7_6_branch'
Conflicts:

	src/mesa/drivers/dri/r600/r700_assembler.c
	src/mesa/drivers/dri/r600/r700_chip.c
	src/mesa/drivers/dri/r600/r700_render.c
	src/mesa/drivers/dri/r600/r700_vertprog.c
	src/mesa/drivers/dri/r600/r700_vertprog.h
	src/mesa/drivers/dri/radeon/radeon_span.c
2009-09-24 11:03:16 -06:00
Brian Paul 6be2bc56af gallium/trace: casts to silence warnings 2009-09-24 10:47:42 -06:00
Brian Paul f85816354c tgsi/sse: remove old comments 2009-09-24 10:45:36 -06:00
Brian Paul 35cd0bbfb1 tgsi/sse: implement SEQ, SGT, SLE, SNE 2009-09-24 10:45:35 -06:00
Brian Paul a64d4516a0 tgsi/sse: Pass the lodbias, not zero. More comments.
This fixes the glean/glsl1 "texture2D(), with bias" test when using SSE.
2009-09-24 10:28:09 -06:00
Keith Whitwell 90dcfb3b47 trace: fix printf warnings 2009-09-24 16:49:40 +01:00
Keith Whitwell d3beaf2f32 softpipe: fix compiler warnings 2009-09-24 16:49:27 +01:00
Keith Whitwell fca7f38441 pipebuffer: fix printf warnings 2009-09-24 16:49:05 +01:00
Keith Whitwell 0c55dd8094 pipebuffer: fix warnings 2009-09-24 16:48:49 +01:00
Keith Whitwell cd362334ad draw: fix warning 2009-09-24 16:44:58 +01:00
José Fonseca 9659aa6482 softpipe: Use portable INLINE macro. 2009-09-24 15:28:55 +01:00
José Fonseca e8e6d8853d softpipe: Update SConscript. 2009-09-24 15:28:54 +01:00
José Fonseca 86962d6f6e gdi: Update for WGL state tracker interface changes. 2009-09-24 13:12:51 +01:00
José Fonseca 4e5ed05b02 wgl: DWM integration. 2009-09-24 13:12:51 +01:00
Brian Paul 35af3f94a3 llvmpipe: move tile cache datatypes into .c file since they're private 2009-09-23 11:53:12 -06:00
Brian Paul b4a40d1052 softpipe: replace macros with inline functions
And update comments.
2009-09-23 11:51:52 -06:00
Brian Paul e2329f2795 softpipe: white-space/formatting fixes and updated comments 2009-09-23 11:35:33 -06:00
Brian Paul 5244ce786a llvmpipe: added max texture/surface size sanity check
Carried over from softpipe driver.
2009-09-23 11:05:00 -06:00
Brian Paul b26f1df920 llvmpipe: increase MAX_WIDTH/HEIGHT to match max texture size 2009-09-23 11:04:07 -06:00
Brian Paul de25f82067 Merge branch 'mesa_7_6_branch'
Conflicts:

	src/gallium/drivers/softpipe/sp_tile_cache.c
2009-09-23 11:00:04 -06:00
Brian Paul e41707beca softpipe: added max texture/surface size sanity check 2009-09-23 10:50:38 -06:00
Brian Paul 84b956c29b softpipe: increase MAX_WIDTH/HEIGTH 4096 to match max texture size 2009-09-23 10:46:27 -06:00
Keith Whitwell 890679d432 Merge branch 'softpipe-opt'
Conflicts:
	progs/demos/cubemap.c
	src/gallium/drivers/softpipe/sp_tex_sample.c
	src/gallium/drivers/softpipe/sp_texture.c
2009-09-23 17:37:28 +01:00
Keith Whitwell a1fa770c01 gallium/include: update some comments 2009-09-23 17:04:48 +01:00
Zack Rusin 1ddb217d8e st/xorg: fix a typo
it'd be too easy, eh
2009-09-23 12:05:13 -04:00
Zack Rusin 5a7f708530 st/xorg: keep the user buffer contents around
Michel noticed that they were getting out of scope
2009-09-23 12:03:35 -04:00
José Fonseca 31f1571d1f wgl: Eliminate the shared layer; implement WGL API on top of the ICD callbacks.
While the WGL API has been stale for decades now, the ICD interface has
been updated with new Windows versions, so it is much easier to define
everything in terms of the ICD interfaces, which is pretty much what
Microsoft's opengl32.dll does anyway.
2009-09-23 10:32:52 +01:00
José Fonseca f8c11526c0 gdi: Update for WGL statetracker source reorg. 2009-09-23 10:32:51 +01:00
José Fonseca f724036f00 wgl: Flatten the source tree.
It is easier to have the WGL API on top of the ICD callbacks as
Microsoft's own implementation does, than to have a seperate shared
entity. This source reorganization is in antecipation of that.
2009-09-23 10:32:51 +01:00
José Fonseca 8d1af5991d wgl: Fix debug_printf format specifiers. 2009-09-23 10:32:51 +01:00
José Fonseca 21a949365d gallium: Update vendor string. 2009-09-23 10:32:50 +01:00
root 75276ea316 softpipe: fix bugs in POT texture sampling when texture is not square
Before, if level was greater than the logbase2(base size) we were
doing a negative bit shift and winding up with garbage values.
2009-09-22 20:14:10 -06:00
Brian Paul 5dbedf3d7e softpipe: additional assertions 2009-09-22 16:59:28 -06:00
Brian Paul 0670df5cb2 softpipe: disable a _debug_printf() 2009-09-22 16:42:15 -06:00
Keith Whitwell fe9ca0f718 softpipe: need to write depth/stencil values even when stencil fails 2009-09-22 20:47:37 +01:00
Keith Whitwell 207764894b softpipe: set quad->facing value 2009-09-22 20:47:07 +01:00
Keith Whitwell b1139e9ad8 softpipe: fix polygon stipple 2009-09-22 19:38:34 +01:00
Keith Whitwell b626176f06 softpipe: fix occlusion counting 2009-09-22 19:26:08 +01:00
Jakob Bornecrantz bade906ed1 st/xorg: Fix two leeks
We where leaking both surfaces in the composit code
	and textures from pixmaps.
2009-09-22 11:06:57 -07:00
Jakob Bornecrantz 19798e17fe i915g: Activate trace 2009-09-22 11:06:57 -07:00
Jakob Bornecrantz e369294f76 i915g: Do propper references of surfaces in context 2009-09-22 11:06:56 -07:00
Brian Paul 6559eaef59 Merge branch 'mesa_7_5_branch' into mesa_7_6_branch 2009-09-21 14:49:46 -06:00
Nicolai Hähnle 9ca94f91a3 r300g: Fix bad formatting parameters in calls to debug_printf
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-09-21 17:41:54 +02:00
Nicolai Hähnle 496137d8eb gallium debug: Add gcc printf hint to debug_printf
This causes gcc to issue warnings when format parameters do not match up
with the format string in calls to debug_printf.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-09-21 17:41:54 +02:00
Brian Paul 5a0b29050f softpipe: Fix cube face selection.
If arx and ary are equal, we still want to choose from one of them,
and not arz.

(cherry picked from commit de685b37a9)
2009-09-21 08:36:05 -06:00
Nicolai Hähnle 81c7561d9d Merge branch 'master' into r300-compiler
There were additional non-textual conflicts.

Conflicts:
	src/gallium/drivers/r300/r300_tgsi_to_rc.c
	src/mesa/drivers/dri/r300/compiler/r3xx_vertprog.c
	src/mesa/drivers/dri/r300/compiler/radeon_program.c
	src/mesa/drivers/dri/r300/compiler/radeon_program_alu.c
2009-09-21 13:26:50 +02:00
Ben Skeggs 774db70506 nouveau: allow building modesetting_drv.so 2009-09-21 14:51:39 +10:00
Ben Skeggs 344e2fd1f2 nouveau: drm_api create_screen()'s 'arg' argument can be NULL 2009-09-21 14:46:50 +10:00
Dave Airlie e9d6ab72be xorg/st: fixup builds against later dpms headers. 2009-09-21 13:26:48 +10:00
José Fonseca 911a7a82cd llvmpipe: Fix lp_get_cached_tile.
Align coordinates to tile boundaries.
2009-09-20 18:09:34 +01:00
José Fonseca 76c2e34b22 llvmpipe: Update tile status on flush. 2009-09-20 18:09:34 +01:00
Michal Krol 18d0f9a7a3 llvmpipe: Respect input interpolators for the shader.
Cherry-picked from fb2c7b6743
2009-09-19 14:57:24 +01:00
Michal Krol de685b37a9 softpipe: Fix cube face selection.
If arx and ary are equal, we still want to choose from one of them,
and not arz.
2009-09-18 14:36:59 +01:00
Michal Krol fb2c7b6743 softpipe: Respect input interpolators for the shader. 2009-09-17 16:06:11 +01:00
Michal Krol 5f0b49e7a9 tgsi: Scan input interpolators, too. 2009-09-17 16:06:09 +01:00
José Fonseca f911d196cf llvmpipe: Don't assert due to unsupported texture wrap modes.
Issue a warning and fallback to clamping.
2009-09-16 20:42:09 +01:00
Brian Paul aabcc6cb23 gallium: remove incorrect 'return' stmt 2009-09-16 08:59:32 -06:00
José Fonseca c29905aa31 gallium: Deprecate PIPE_CAP_S3TC.
No longer used. S3TC support is queried via
pipe_screen::is_format_supported.
2009-09-16 14:33:52 +01:00
Michal Krol ec48396e0f softpipe: Do not advertise Z32_UNORM as a supported format. 2009-09-16 13:56:58 +01:00
José Fonseca b60e1d7630 gdi: Integrate with llvmpipe where available. 2009-09-16 11:35:23 +01:00
José Fonseca 459ea0095c llvmpipe: Make the code portable for MinGW. 2009-09-16 11:35:23 +01:00
Zack Rusin a016043386 st/xorg: fixing copies and composite shaders
copies were busted when src == dst. also the composite shaders
were incorrectly using the fragments instead of the texture coordinate.
2009-09-15 19:50:36 -04:00
Zack Rusin 8adcad0c70 st/xorg: lots of fixes
fixes blending binding and copy coordinates
2009-09-15 19:50:34 -04:00
Zack Rusin f1ce6b09cd st/xorg: Brian suggested that those could be mad's
optimizes the common paths
2009-09-15 15:21:42 -04:00
Maarten Maathuis 26860a6e2f nv50: avoid excessive FIRE_RING
- And reduce RING_SPACE to 2, instead of 3.
2009-09-15 18:59:53 +02:00
Maarten Maathuis db37279e0b nv50: use flush_notify to reduce number of relocs 2009-09-15 18:59:53 +02:00
Michel Dänzer 0469465c31 st/xorg: Only unreference texture on pixmap destruction, don't destroy it.
Fixes memory corruption if e.g. the driver still has references to the texture.
2009-09-15 18:31:07 +02:00
Michel Dänzer 45cf2696ca st/xorg: Explicitly check whether the driver supports the pixmap formats.
Rather than arbitrarily checking for pixmap depth < 15.
2009-09-15 18:30:58 +02:00
Michel Dänzer be94a1d3bc st/xorg: Use A8 format for depth 8 pixmaps.
The inconsistent bpp caused issues with UploadTo/DownloadFromScreen.
2009-09-15 18:23:00 +02:00
Brian Paul 41bbc83951 Merge branch 'mesa_7_6_branch' 2009-09-15 09:47:35 -06:00
José Fonseca a18301790c gallium: Use the enum for pipe_transfer::usage. 2009-09-15 16:02:55 +01:00
José Fonseca cb5f1bce23 gallium: pipe_transfer_destroy helper inline. 2009-09-15 16:02:54 +01:00
Christoph Bumiller d3a9cf54c0 nv50: fix stupid thinko in emit_set
When swapping sources 0 and 1, EQ of course does *not*
become NE, etc.

Introduced in 2b963f5c72.
2009-09-15 15:37:10 +02:00
Michal Krol 7aee53002c gallium: Fix pointer type casts. 2009-09-15 12:00:27 +01:00
Christoph Bumiller 750c6cae3d nv50: let programs use the whole param buffer
Allocation is unnecessary since all uniforms are
uploaded on every constant buffer change anyway.
2009-09-15 12:13:23 +02:00
Christoph Bumiller 01670ca807 nv50: add preliminary support for point sprites 2009-09-15 12:13:23 +02:00
Christoph Bumiller 06dac41cc5 nv50: add support for point size per vertex 2009-09-15 12:13:23 +02:00
Christoph Bumiller 4d7b4781c8 nv50: add support for light-twoside 2009-09-15 12:13:23 +02:00
Christoph Bumiller 6516594c8e nv50: proper linkage between VP and FP
This moves construction of the mapping between VP outputs
and FP inputs into validation.

The map also contains slots for special outputs like clip
distance and point size, so we need to at least merge the
VP related and FP related parts on validation if we want
to support those.

Now we match every single FP input component with results
from the VP and leave those not read out of the map, or
replace those not written by 0 (xyz) or 1 (w).
The bitmap indicating linear interpolants is also filled,
and flat FP inputs are mapped in only after non-flat ones,
as is required.

Furthermore, we can save some space by only fetching VP
attrs we actually use, and avoid wasting any output regs
because of TGSI using less than 4 components.
2009-09-15 12:13:23 +02:00
Christoph Bumiller 38849c529e nv50: move allocation of pc regs
Make use of tgsi_shader_info to determine how many nv50_regs we
need to allocate, whether program uses KIL, or writes DEPR.
2009-09-15 12:13:23 +02:00
Christoph Bumiller e0951797cb nv50: nicer initialization of nv50_regs 2009-09-15 12:13:23 +02:00
Christoph Bumiller 849885c7a6 nv50: handle CEIL and TRUNC opcodes 2009-09-15 12:13:23 +02:00
Christoph Bumiller 2b963f5c72 nv50: handle SEQ, SGT, SLE, SNE opcodes 2009-09-15 12:13:23 +02:00
Christoph Bumiller e774b3c0f2 nv50: SIN and COS use src0.w for dst.w 2009-09-15 12:13:22 +02:00
Christoph Bumiller 81de711fc8 nv50: use broadcast TEMP reg in tx_insn
Makes some opcode cases nicer and might reduce the total
nr of TEMPs required, or save some MOVs.
2009-09-15 12:13:22 +02:00
Christoph Bumiller 234d82ed63 nv50: add nv50_tgsi_insn to handle swizzles safely 2009-09-15 12:13:22 +02:00
Christoph Bumiller 2da8608ad7 nv50: add functions for swizzle resolution
We're going to try to reorder the scalar ops of a vector instr
to accomodate swizzles that would otherwise require us to emit
to an additional TEMP first (like MOV R0.xy, R0.zx).
2009-09-15 12:13:22 +02:00
Christoph Bumiller 5d141b3e3e nv50: extend insn src mask function
Extend its usage to avoiding e.g. emission of negation
instructions in tx_insn for sources we don't need.
2009-09-15 12:13:22 +02:00
Cooper Yuan 287f0072d2 st/g3dvl: pass color values to softpipe clear function 2009-09-15 15:25:47 +08:00
Zack Rusin ef77462171 st/xorg: add some debugging helpers 2009-09-14 19:03:28 -04:00
Brian Paul 5a87a25a65 st/xorg: fix ureg_DECL_constant() parameters
This fixes the compilation errors reported in bug 23945 but someone more
familiar with the code should review for correctness and close the bug
report.
2009-09-14 15:47:13 -06:00
José Fonseca c51bd94a14 gallium: Add pipe_transfer_map/unmap inlines. 2009-09-14 20:12:01 +01:00
José Fonseca 88b88bba68 util: Add _BitScanForward intrinsic's declaration.
It is missing in some Microsoft DDKs.
2009-09-14 20:12:01 +01:00
Vinson Lee 2729db8976 gallium: Add Mac OS to pipe/p_thread.h.
Mac OS also has POSIX threads.
2009-09-14 11:50:48 -06:00
Marcin Kościelnicki d8a191e314 nv50: Fix m2mf positions. 2009-09-14 12:12:03 +02:00
José Fonseca b4835ea03d llvmpipe: Make lp_type a regular union.
Union not worth the hassle of violating C99 or adding a name to
the structure.
2009-09-14 11:05:38 +01:00
José Fonseca fa150debf0 util: Fix a1r5g5b5's format description. 2009-09-14 11:05:38 +01:00
Cooper Yuan aad0deee4b g3dvl: update tgsi_opcode in order to build g3dvl library 2009-09-14 16:23:03 +08:00
Keith Whitwell 66a7eedaa2 tgsi: handle some src/dst aliasing in tgsi_sse2.c
Src/Dst aliasing (aka SOA dependencies) requires some care to ensure
intermediate results do not overwrite yet-to-be read source registers.

This change ensures that MOV/SWZ handle this correctly, which is poor but
no worse than the current tgsi_exec.c path.  Remove the fallback as there
is nothing to be gained correctness-wise between the two implementations now.

Fixing this properly looks like a bit of work in this code, but might be
easily achieved by sending destination writes to temporary storage.
2009-09-13 11:59:24 -07:00
José Fonseca 86226d5ea1 llvmpipe: Compute derivatives. 2009-09-13 16:22:27 +01:00
José Fonseca 4b32dd3007 llvmpipe: Remove dead references to pipe_winsys. 2009-09-13 16:13:12 +01:00
José Fonseca 5e13e987da llvmpipe: Use const keyword for input array arguments. 2009-09-13 16:12:48 +01:00
José Fonseca faec23387e llvmpipe: Delay storing into the dst register to prevent clobbering the src registers.
How I'm thankful for regular expressions -- just a couple of them were
all that was needed to do this otherwise tiresome and bug prone change.
2009-09-13 14:42:52 +01:00
José Fonseca 873773ee2b llvmpipe: Translate more TGSI opcodes.
Basically cover all low hanging fruit, and mark the still missing opcodes
as "fixme" or deprecated.
2009-09-13 13:55:08 +01:00
José Fonseca 00dd0156e0 llvmpipe: Add a few more common arithmetic functions.
We are relying on SSE4.1 for round/trunc/ceil/floor. We'll need to
eventually find alternatives for the rest of the world.
2009-09-13 13:50:19 +01:00
José Fonseca d7aa114e16 llvmpipe: Rename function to free up lp_build_trunc to the usual arithmetic meaning. 2009-09-13 13:45:48 +01:00
Keith Whitwell 18e5f1cee4 tgsi: implement saturation
Fix recent performance regression.
2009-09-12 18:33:46 -07:00
Keith Whitwell 055fe5768c tgsi: add missing implementation of constant decl change 2009-09-12 16:27:25 -07:00
Cooper Yuan bffa18624d r300g: delete unused flag due to commit: 09b566e161 2009-09-13 07:10:34 -04:00
Keith Whitwell 11f41f54cf ureg: add a mechanism to get the built tokens rather than a full shader
Previously ureg would always call the driver's create-shader function.  This
allows the caller the opportunity to hold onto the tokens if it needs to
reuse them, eg. to create an internal draw shader.
2009-09-12 14:18:50 -07:00
Keith Whitwell c23894295b ureg: add generic emitters for tex and branch instructions
Couldn't previously emit these except by calling the opcode-specific helper.
2009-09-12 14:18:00 -07:00
Keith Whitwell ae4704eabc tgsi/ureg: give ureg_DECL_constant an explicit index parameter
Avoid the need to emit all constant declarations in order.  Makes
referring to a specific constant in the constant buffer much easier.
2009-09-12 14:16:00 -07:00
Keith Whitwell 6d8dbd3d1e tgsi/ureg: VS inputs don't have any semantic tags, just an index
Fix ureg_DECL_vs_input to reflect this and fix up all callers.
2009-09-12 14:12:35 -07:00
Keith Whitwell 149945c432 tgsi: free tokens on error 2009-09-12 14:07:48 -07:00
Keith Whitwell e90fb86ac3 tgsi: sanity check ureg programs 2009-09-12 14:05:37 -07:00
Keith Whitwell 983b261e6d tgsi: add const qualifier 2009-09-12 14:04:36 -07:00
Nicolai Hähnle 3cb30e55e4 r300g: There is no such thing as "texture stride"
Individual texture images have a stride, but textures as a whole do not.

There are still pieces of code which are confused about this, but the core of
the confusion is hopefully gone.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-09-12 16:55:25 +02:00
Brian Paul d81086a86b llvmpipe: asst fixes for 'make linux-llvmpipe' 2009-09-11 13:39:14 -06:00
Cooper Yuan 622b31925b r300g: only allocate one BO for vertex buffers, default size is 64*1024
it can fix redbook/sceneflat, scene, scenebamb, surface, nurbs and so on
2009-09-11 23:21:28 +08:00
José Fonseca 672c5f52d1 llvmpipe: set dirty_render_cache in llvmpipe_clear()
Based on Brian's softpipe change on
commit 988db64119. We don't use the tile
cache for zsbuf though, only for color buffers.
2009-09-11 11:29:24 +01:00
José Fonseca 1fc4100225 llvmpipe: Update status in README and TODO/FIXME comments throughout the code. 2009-09-11 11:24:26 +01:00
Brian Paul 6bc36f29c7 softpipe: remove no-op softpipe_init_texture_funcs() function 2009-09-10 16:51:52 -06:00
Brian Paul 209031701a softpipe: remove unused #includes, move comment 2009-09-10 16:50:18 -06:00
Brian Paul de059d35c3 util: remove unneeded #includes 2009-09-10 16:45:25 -06:00
Brian Paul afcaa45a94 softpipe: reformatting, clean-ups, comments 2009-09-10 16:42:47 -06:00
Brian Paul 759696defb util: minor clean-ups, reformatting 2009-09-10 16:39:13 -06:00
Brian Paul 71b3ccc4b0 softpipe: remove unneeded #includes 2009-09-10 16:38:51 -06:00
Brian Paul d9dc4cb0e4 Merge branch 'mesa_7_6_branch' 2009-09-10 15:41:52 -06:00
Zack Rusin 8c37a4c8fd st/xorg: rename ctx to pipe to match every other gallium state tracker
plus it avoids the "ctx->ctx->" syntax
2009-09-10 17:43:25 -04:00
Brian Paul 4b1cbfcbe6 Merge branch 'mesa_7_5_branch' into mesa_7_6_branch 2009-09-10 15:40:26 -06:00
Zack Rusin 85a716bf62 st/xorg: temporarily disablie copies 2009-09-10 17:21:06 -04:00
Zack Rusin feb74e7753 st/xorg: implement pipelines surface/texture copies 2009-09-10 17:21:06 -04:00
Zack Rusin 57d0934bc5 st/xorg: unite finalization and stub out pipelined copies 2009-09-10 17:21:06 -04:00
Zack Rusin 974dec2e7b st/xorg: abstract flushing and syncing for the exa code 2009-09-10 17:21:06 -04:00
Zack Rusin 16886c8be3 st/xorg: disable solid fills until copies are accelerated as well 2009-09-10 17:21:06 -04:00
Zack Rusin 6be1a98ab9 st/xorg: implement exasolids with full pipelining
plus fix some small issues with the shaders
2009-09-10 17:21:06 -04:00
Zack Rusin 3167c2e8a0 st/xorg: start adding support for surface fills 2009-09-10 17:21:06 -04:00
Brian Paul 3f4d776199 softpipe: minor indentation fix 2009-09-10 14:14:18 -06:00
Brian Paul 988db64119 softpipe: set dirty_render_cache in softpipe_clear()
This fixes a bug seen when doing a glDrawPixels(GL_STENCIL_INDEX) right
after a glClear().  The check-for-flush test was failing because we
didn't set the dirty_render_cache flag in softpipe_clear().  So we saw
stale data when we mapped the stencil buffer.
2009-09-10 14:11:41 -06:00
Marcin Kościelnicki 18882f4d30 nv50: Fix tiling mode for lower mipmap levels. 2009-09-10 21:06:48 +02:00
Brian Paul d78a196121 tgsi: use new tgsi_call_record to handle execution mask stacks
This fixes some issues when "return"ing from nested loops/conditionals.
2009-09-10 12:45:27 -06:00
Vinson Lee 23fefa031f gallium: Add PIPE_OS_APPLE back to auxiliary/util/u_time.h.
Fixes typo from commit c6c44bf481.
2009-09-10 08:40:16 -06:00
Vinson Lee c7291f69a0 util: Add PIPE_OS_APPLE back to auxiliary/util/u_time.h.
Fixes typo from commit c6c44bf481.
2009-09-10 15:33:57 +01:00
José Fonseca 6a405b4a21 llvmpipe: Fix alpha test. 2009-09-10 13:35:39 +01:00
José Fonseca 4c3a48ad0c llvmpipe: Mask out color channels not present in the color buffer. 2009-09-10 12:37:44 +01:00
José Fonseca 48f19c0bcd llvmpipe: Fix sampling from depth textures. Respect texture compare func.
Fixes Mesa shadowtex sample.
2009-09-10 12:14:53 +01:00
José Fonseca c3c80c5c22 llvmpipe: Skip blending when mask is zero.
This increases quake3 timedemo fps another 10%.
2009-09-10 12:01:42 +01:00
José Fonseca 8e6b925d2a llvmpipe: Proper control flow builders.
New control flow helper functions which keep track of all variables
and generate the correct Phi functions.

This re-enables skipping the fs execution of quads masked out by
the rasterizer, early z testing, and kill opcode.

This yields a performance improvement of around 20%.
2009-09-10 11:44:03 +01:00
José Fonseca bd3b59da63 llvmpipe: Copy the texture target into the sampler static state.
Hunk forgotten in previous commit.
2009-09-10 09:19:51 +01:00
José Fonseca 4139bc8f43 llvmpipe: Quick hack for 1D textures. 2009-09-09 21:48:50 +01:00
José Fonseca abc160b664 llvmpipe: Fix depth mask computation.
Fixes depth test for 24bit depth formats.
2009-09-09 21:48:50 +01:00
José Fonseca cdbbcdf3bd llvmpipe: Include zsbuf's format in the fragment shader key. 2009-09-09 21:48:50 +01:00
José Fonseca da912a7a16 util: Fix depth/stencil format description.
Inverse channel order.
2009-09-09 21:48:49 +01:00
José Fonseca 01c831576e llvmpipe: Debug function to check stack alignment.
Doing alignment check in locus is redundant, as gcc alignment assumptions
will optimize away the check.
2009-09-09 21:48:49 +01:00
Brian Paul 7bf6347362 Merge branch 'mesa_7_6_branch' 2009-09-09 09:00:58 -06:00
Brian Paul 0c309bb494 Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
Conflicts:

	Makefile
	configs/default
	progs/glsl/Makefile
	src/gallium/auxiliary/util/u_simple_shaders.c
	src/gallium/state_trackers/glx/xlib/xm_api.c
	src/mesa/drivers/dri/i965/brw_draw_upload.c
	src/mesa/drivers/dri/i965/brw_vs_emit.c
	src/mesa/drivers/dri/intel/intel_context.h
	src/mesa/drivers/dri/intel/intel_pixel.c
	src/mesa/drivers/dri/intel/intel_pixel_read.c
	src/mesa/main/texenvprogram.c
	src/mesa/main/version.h
2009-09-09 08:33:39 -06:00
aljen c6c44bf481 gallium: Added HaikuOS platform 2009-09-09 08:24:18 -06:00
Brian Paul 97cbaab541 gallium: added r8g8b8_get/put_tile_rgba() 2009-09-08 16:45:34 -06:00
Jakob Bornecrantz e589a37f7b i915g: Add buffer write callback 2009-09-09 00:43:36 +01:00
Jakob Bornecrantz d112132840 i915g: Reorg vbuf code a bit 2009-09-09 00:43:36 +01:00
Jakob Bornecrantz 547b726484 i915g: pwrite batchbuffer instead of map 2009-09-09 00:43:36 +01:00
Jakob Bornecrantz d585616f5b i915g: Keep vertex buffers in a fifo 2009-09-09 00:43:35 +01:00
Jakob Bornecrantz 6e61d06209 util: Add super simple fifo 2009-09-09 00:43:35 +01:00
Jakob Bornecrantz 3833587818 i915g: Map vertex buffers via gtt 2009-09-09 00:43:35 +01:00
Jakob Bornecrantz 530fbd314e i915g: Remove lib prefix from driver 2009-09-09 00:43:35 +01:00
Michel Dänzer e34ea368d9 st/xorg: Add support for EXA_MIXED_PIXMAPS and EXA_SUPPORTS_PREPARE_AUX.
Also make sure not to leak malloced memory when switching pixmaps to texture
based.
2009-09-08 18:08:24 +02:00
Michal Krol fcb94f6e3e gdi: Fix prototype of gdi_softpipe_surface_buffer_create(). 2009-09-08 10:22:07 +02:00
Vinson Lee 79f48c9f9e scons: Don't set LLVM_VERSION if one of the llvm-config calls fails.
Ubuntu 8.10 has llvm-config version 2.2, which doesn't have
nativecodegen. This triggers an exception.
2009-09-07 15:16:25 +01:00
José Fonseca b481fb2c6d llvmpipe: Silent debug statement. 2009-09-07 15:02:08 +01:00
José Fonseca 1127201088 llvmpipe: Better abs for floating points. 2009-09-07 15:02:08 +01:00
José Fonseca e4c76c02f7 llvmpipe: Code generate the texture sampling inside the shader.
Finally a substantial performance improvement: framerates of apps using
texturing tripled, and furthermore, enabling/disabling texturing only
affects around 15% of the framerate, which means the bottleneck is now
somewhere else.

Generated texture sampling code is not complete though -- we always
sample from the base level -- so final figures will be different.
2009-09-07 15:02:08 +01:00