Michal Krol [Sat, 19 Dec 2009 10:03:47 +0000 (11:03 +0100)]
glsl/pp: Remove outdated TODO.
Already implemented in mesa compiler using predefined symbols.
Michal Krol [Sat, 19 Dec 2009 08:55:27 +0000 (09:55 +0100)]
glsl/pp: Report correct error line for purify and tokeniser errors.
Christoph Bumiller [Sun, 20 Dec 2009 18:09:35 +0000 (19:09 +0100)]
util: util_format_get_blocksizebits() returns bits per block.
Christoph Bumiller [Sun, 20 Dec 2009 12:40:14 +0000 (13:40 +0100)]
nv50: make address reg allocation a little less hacky
Before I tried to distinguish int +0 and -0, and regs
relative to $a1 would have been considered reserved
for TGSI.
This would probably never occur, let it be fixed even so.
Christoph Bumiller [Sun, 20 Dec 2009 11:04:26 +0000 (12:04 +0100)]
nv50: use BREAKADDR and BREAK for loops
This is easier, we don't have to record all the BRK branches
to fill in the address at ENDLOOP - which wasn't done before
and thus made all but the last BRK branch jump to the start.
Also, we don't risk reactivting threads that already left
the loop if we join threads after a conditional with a BRK
(although it might be wiser to remove the join altogether
in such cases).
Christoph Bumiller [Sun, 20 Dec 2009 13:12:35 +0000 (14:12 +0100)]
nv50: handle TGSI_OPCODE_RET,KILP
Marek Olšák [Wed, 16 Dec 2009 05:07:39 +0000 (06:07 +0100)]
r300g: add texture compare modes
Maciej Cencora [Sat, 19 Dec 2009 13:25:53 +0000 (14:25 +0100)]
r300: minor blit rework
Use vert/tex coords instead of byte offsets for specyfing src/dst image offsets.
This will allow for blitting between tiled/untiled buffers.
Maciej Cencora [Tue, 15 Dec 2009 22:57:05 +0000 (23:57 +0100)]
r300: better fix for glCopyTexSubImage
Corbin Simpson [Sat, 19 Dec 2009 05:50:45 +0000 (21:50 -0800)]
r300g: Fix provoking vertex for non-quads.
Read the comments. In short, we can't possibly pass piglit's
glean/clipFlat without some help from Gallium and an API/spec change.
Corbin Simpson [Sat, 19 Dec 2009 03:42:02 +0000 (19:42 -0800)]
r300g: Respect provoking vertex for trifans.
Fixes part of piglit's clipFlat test; next up is to get quads right.
Corbin Simpson [Fri, 18 Dec 2009 22:05:40 +0000 (14:05 -0800)]
r300g: Eliminate a couple more asserts.
Corbin Simpson [Fri, 18 Dec 2009 21:40:24 +0000 (13:40 -0800)]
r300g: Nuke r300_vbo.
Brian Paul [Fri, 18 Dec 2009 15:12:55 +0000 (08:12 -0700)]
progs/demos: fix glut initialization calls
Remove glutInitWindowPosition() calls to play nicer with window managers.
Move glutInitWindowSize() calls before glutInit() so the the default window
size can be overridden by the -geometry cmd line option.
Alex Deucher [Fri, 18 Dec 2009 15:57:37 +0000 (10:57 -0500)]
radeon: protect fbo allocation message with debug
fixes fdo bug 25708
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Michal Krol [Fri, 18 Dec 2009 13:15:21 +0000 (14:15 +0100)]
util: Add util_format_has_alpha(), enclose in extern C.
Michal Krol [Tue, 15 Dec 2009 18:48:31 +0000 (19:48 +0100)]
util/pack: Handle the remaining formats with generic u_format access functions.
Corbin Simpson [Fri, 18 Dec 2009 11:20:19 +0000 (03:20 -0800)]
util: Update blitter for u_format changes.
:T
Corbin Simpson [Fri, 18 Dec 2009 10:55:28 +0000 (02:55 -0800)]
Revert "r300g: flush CS if a buffer being deleted is referenced by it"
As requested by just about everybody. I'm going back to actually reading
patches before ACKing and pushing them.
This reverts commit
417ce06306962a9355cbb35cefcdea1951b0ce85.
Conflicts:
src/gallium/winsys/drm/radeon/core/radeon_buffer.c
Michal Krol [Fri, 18 Dec 2009 08:08:26 +0000 (09:08 +0100)]
Merge branch 'pipe-format-simplify'
Richard Li [Fri, 18 Dec 2009 05:23:04 +0000 (00:23 -0500)]
r600 : enable gl2, set R600_ENABLE_GLSL_TEST by default.
Dave Airlie [Fri, 18 Dec 2009 04:35:03 +0000 (14:35 +1000)]
radeon: fix frontbuffer read/drawpixels
Bug 25699
The main problem was the optimising flush wasn't doing the front
rendering checks properly.
Dave Airlie [Thu, 17 Dec 2009 23:32:04 +0000 (09:32 +1000)]
r300g: store own copy of flush_cb and flush data.
don't go sneaking around inside the libdrm copy.
Michal Krol [Thu, 17 Dec 2009 22:41:57 +0000 (23:41 +0100)]
Move the remaining format pf_get_* functions to u_format.h.
Previously they depended on format blocks, but after removing those
they started depending on format encoding.
Michal Krol [Thu, 17 Dec 2009 21:39:03 +0000 (22:39 +0100)]
util: Remove util_format_get_block().
Michal Krol [Thu, 17 Dec 2009 21:37:15 +0000 (22:37 +0100)]
Merge branch 'master' into pipe-format-simplify
Conflicts:
src/gallium/auxiliary/draw/draw_pipe_aaline.c
src/gallium/auxiliary/draw/draw_pipe_pstipple.c
src/gallium/auxiliary/util/u_blit.c
src/gallium/auxiliary/util/u_gen_mipmap.c
src/gallium/auxiliary/util/u_surface.c
src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c
src/gallium/drivers/cell/ppu/cell_texture.c
src/gallium/drivers/llvmpipe/lp_texture.c
src/gallium/drivers/r300/r300_emit.c
src/gallium/drivers/r300/r300_texture.c
src/gallium/drivers/softpipe/sp_texture.c
src/gallium/drivers/softpipe/sp_tile_cache.c
src/gallium/drivers/svga/svga_state_vs.c
src/gallium/include/pipe/p_format.h
src/gallium/state_trackers/dri/dri_drawable.c
src/gallium/state_trackers/egl/egl_surface.c
src/gallium/state_trackers/python/p_device.i
src/gallium/state_trackers/python/st_softpipe_winsys.c
src/gallium/state_trackers/vega/api_filters.c
src/gallium/state_trackers/vega/image.c
src/gallium/state_trackers/vega/mask.c
src/gallium/state_trackers/vega/paint.c
src/gallium/state_trackers/vega/renderer.c
src/gallium/state_trackers/vega/vg_tracker.c
src/gallium/state_trackers/xorg/xorg_crtc.c
src/gallium/state_trackers/xorg/xorg_dri2.c
src/gallium/state_trackers/xorg/xorg_exa.c
src/gallium/state_trackers/xorg/xorg_renderer.c
src/gallium/state_trackers/xorg/xorg_xv.c
src/gallium/state_trackers/xorg/xvmc/surface.c
src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c
src/gallium/winsys/drm/radeon/core/radeon_buffer.c
src/gallium/winsys/egl_xlib/sw_winsys.c
src/gallium/winsys/g3dvl/xlib/xsp_winsys.c
src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c
src/gallium/winsys/gdi/gdi_softpipe_winsys.c
src/gallium/winsys/xlib/xlib_cell.c
src/gallium/winsys/xlib/xlib_llvmpipe.c
src/gallium/winsys/xlib/xlib_softpipe.c
src/mesa/state_tracker/st_cb_fbo.c
src/mesa/state_tracker/st_cb_texture.c
src/mesa/state_tracker/st_texture.c
Michal Krol [Thu, 17 Dec 2009 20:57:24 +0000 (21:57 +0100)]
util/format: Fix bogus assertion.
Michal Krol [Thu, 17 Dec 2009 20:25:47 +0000 (21:25 +0100)]
s/desc->type/desc->channel[0].type/
Sedat Dilek [Thu, 17 Dec 2009 18:17:23 +0000 (19:17 +0100)]
glsl/apps: Add dummy install target to fix 'make install'
Signed-off-by: Brian Paul <brianp@vmware.com>
Sedat Dilek [Thu, 17 Dec 2009 18:14:53 +0000 (19:14 +0100)]
configure.ac: Add glsl to SRC_DIRS
Signed-off-by: Brian Paul <brianp@vmware.com>
Michal Krol [Thu, 17 Dec 2009 16:00:46 +0000 (17:00 +0100)]
Merge branch 'glsl-pp-rework-2'
Dave Airlie [Thu, 17 Dec 2009 04:19:27 +0000 (14:19 +1000)]
radeon: drop assert accessing cref which is meant to be hidden
Dave Airlie [Thu, 17 Dec 2009 04:18:54 +0000 (14:18 +1000)]
radeon: drop unused members of radeon_state.
Dave Airlie [Thu, 17 Dec 2009 04:23:08 +0000 (14:23 +1000)]
r600: move structs for legacy cmdbuf into cmdbuf C file.
these really shouldn't be exposed here
Richard Li [Wed, 16 Dec 2009 16:35:08 +0000 (11:35 -0500)]
r600 : clean a bit to prepare to enable gl2.
José Fonseca [Wed, 16 Dec 2009 15:06:02 +0000 (15:06 +0000)]
llvmpipe: add LP_DEBUG env var
Cherry-picked from
dec35d04aeb398eef159aaf8cde5e0d04622b811.
Brian Paul [Mon, 14 Dec 2009 22:27:35 +0000 (15:27 -0700)]
llvmpipe: fix broken TGSI_OPCODE_FRC codegen
Brian Paul [Mon, 14 Dec 2009 22:24:31 +0000 (15:24 -0700)]
llvmpipe: fix broken lp_build_abs()
Marek Olšák [Tue, 15 Dec 2009 04:35:03 +0000 (05:35 +0100)]
r300g: fix emission of which textures are enabled
It fixes most of the "Bad CS" issues in piglit/texCombine and piglit/fbo.
Some other issues of this kind will get fixed in the kernel soon (depth-only
rendering, S3TC, and RGTC).
Marek Olšák [Mon, 14 Dec 2009 05:55:54 +0000 (06:55 +0100)]
r300g: clean up the invariant state
Marek Olšák [Mon, 14 Dec 2009 05:39:08 +0000 (06:39 +0100)]
r300g: clamp vertex indices to [min,max] everywhere
Marek Olšák [Mon, 14 Dec 2009 04:29:12 +0000 (05:29 +0100)]
r300g: if no colorbuffers are set, disable blending and set the color mask to 0
This seems to be the only way to disable the first colorbuffer.
Marek Olšák [Mon, 14 Dec 2009 04:47:54 +0000 (05:47 +0100)]
r300g: set the number of colorbuffers in RB3D_CCTL
Marek Olšák [Mon, 14 Dec 2009 04:22:36 +0000 (05:22 +0100)]
r300g: remove unnecessary flush in set_sampler_textures
Marek Olšák [Sun, 13 Dec 2009 01:19:18 +0000 (02:19 +0100)]
r300g: add Z24X8 to the list of unsupported sampler formats on R3xx-R4xx
Marek Olšák [Sun, 13 Dec 2009 00:32:39 +0000 (01:32 +0100)]
r300g: add acceleration of the clear, surface_copy, and surface_fill functions
Marek Olšák [Sat, 12 Dec 2009 22:44:02 +0000 (23:44 +0100)]
r300g: flush CS if a buffer being deleted is referenced by it
Michel Dänzer [Tue, 15 Dec 2009 23:37:40 +0000 (00:37 +0100)]
r300: Fix typo on < R5xx RS setup for blits.
Marek Olšák [Tue, 15 Dec 2009 00:11:22 +0000 (01:11 +0100)]
util/blitter: kill the draw_quad callback
Marek Olšák [Mon, 14 Dec 2009 23:26:10 +0000 (00:26 +0100)]
util/blitter: allocate most of the state objects on-demand
Marek Olšák [Mon, 14 Dec 2009 18:14:49 +0000 (19:14 +0100)]
util/blitter: use PIPE_MAX_* limits, and fix a memory leak
Marek Olšák [Mon, 14 Dec 2009 18:05:15 +0000 (19:05 +0100)]
pipe: add PIPE_MAX_TEXTURE_TYPES
Marek Olšák [Thu, 10 Dec 2009 09:25:33 +0000 (10:25 +0100)]
util: add blitter
Marek Olšák [Sat, 12 Dec 2009 22:38:17 +0000 (23:38 +0100)]
util: add a function which converts 2D coordinates to cubemap coordinates
The code was taken over from u_gen_mipmap.
Marek Olšák [Sat, 12 Dec 2009 05:34:29 +0000 (06:34 +0100)]
util: add new fragment shaders to simple_shaders
New shaders:
* Fragment shader which writes depth sampled from a texture
* Fragment shader which copies COLOR[0] to multiple render targets
Additional improvements:
* The fragment 'tex' shaders now take a sampler type (TGSI_TEXTURE_*)
so that they can sample from any type of texture, not only from a 2D one.
José Fonseca [Tue, 15 Dec 2009 14:46:43 +0000 (14:46 +0000)]
llvmpipe: Fix yet another copynpaste typo in lp_build_log2_approx.
Now fslight looks perfect.
José Fonseca [Tue, 15 Dec 2009 14:15:52 +0000 (14:15 +0000)]
llvmpipe: Fix lp_build_polynomial comment.
José Fonseca [Tue, 15 Dec 2009 13:58:53 +0000 (13:58 +0000)]
llvmpipe: Fix typo in lp_build_log constant.
José Fonseca [Tue, 15 Dec 2009 13:40:13 +0000 (13:40 +0000)]
util: Fix unity value for swizzle 1.
It should be 255 for ubytes, and not 1.
Thanks Michal for spotting this.
José Fonseca [Tue, 15 Dec 2009 12:13:43 +0000 (12:13 +0000)]
llvmpipe: Fix bad SI -> FP conversion into lp_build_log2_approx.
It should be a bitcast as the integer value is actually an encoded FP
already.
José Fonseca [Fri, 11 Dec 2009 20:16:15 +0000 (20:16 +0000)]
util: Add dl wrappers.
Borrowed from Mesa, slightly changed for more type safety.
Michal Krol [Tue, 15 Dec 2009 12:54:05 +0000 (13:54 +0100)]
tgsi/text: Don't use strncasecmp(), it breaks windows build.
Also, break out of the for-loop when a matching property is found.
Andre Maasikas [Tue, 15 Dec 2009 10:03:26 +0000 (12:03 +0200)]
r600: use _mesa_insert_instructions to fixup wpos instead of manual ins insert
this keeps branch targets correct.
glsl/trirast works correctly now afaics
Andre Maasikas [Tue, 15 Dec 2009 08:22:34 +0000 (10:22 +0200)]
r600: fix typos for vert-tex
at least i think this is how it was meant to work
Andre Maasikas [Mon, 14 Dec 2009 14:39:19 +0000 (16:39 +0200)]
r600: fix fragment.position
wpos.y seems inferted to what opengl expexts, so calculate correct
value from window dimension and replace references in fragmentprog
with calculated value
Andre Maasikas [Mon, 14 Dec 2009 09:59:41 +0000 (11:59 +0200)]
r600: add support for FRAG_ATTRIB_PNTC
Andre Maasikas [Mon, 14 Dec 2009 08:48:36 +0000 (10:48 +0200)]
r600: add DDX DDY opcodes
Richard Li [Mon, 14 Dec 2009 23:02:05 +0000 (18:02 -0500)]
r600 : add texture support for vertex shader.
Zack Rusin [Mon, 14 Dec 2009 21:34:07 +0000 (16:34 -0500)]
tgsi: add properties and system value register
adds support for properties to all parts of the tgsi framework, plus
introduces a new register which will be used for system generated
values.
Maarten Maathuis [Fri, 4 Dec 2009 21:58:22 +0000 (22:58 +0100)]
nouveau: avoid running out of relocs
- Added flush notify functions for NV30 and NV40.
- Flushing mid frame will call flush notify, which will resubmit all
relocs.
- We don't try to recover from reloc failure yet.
Christoph Bumiller [Mon, 14 Dec 2009 17:39:13 +0000 (18:39 +0100)]
nv50: be more cautious about using reg_instance
Trying to free part of nv50_pc->reg_instances[] for an
nv50_reg representing an indirect constant resulted in
a segmentation fault.
Michal Krol [Mon, 14 Dec 2009 16:23:22 +0000 (17:23 +0100)]
tgsi/ureg: Add ureg_DECL_gs_input().
Allows one to declare GS input registers.
Christoph Bumiller [Mon, 14 Dec 2009 10:10:16 +0000 (11:10 +0100)]
nv50: store immediates as uint32
Sometimes we want non-float immediates, hacking them into
floats isn't nice.
Sorry, this should have already been committed before.
Patrice Mandin [Sun, 13 Dec 2009 19:09:33 +0000 (20:09 +0100)]
nouveau: nv50: Add missing ctor_immd_4u32 function
Maciej Cencora [Sun, 13 Dec 2009 16:22:33 +0000 (17:22 +0100)]
r300: enable accelerated support for glCopyTexImage only under KMS
Maciej Cencora [Sun, 13 Dec 2009 16:18:50 +0000 (17:18 +0100)]
r300: fix regression introduced by
da73c1ed
The 0 value is correct for I8 format.
Maciej Cencora [Sun, 13 Dec 2009 15:12:11 +0000 (16:12 +0100)]
r300: fix glCopyTexSubImage
Need to properly setup colorbuffer when dst pitch != dst width.
Christoph Bumiller [Sun, 13 Dec 2009 13:36:54 +0000 (14:36 +0100)]
nv50: add proper zslice offset in miptree_surface
Christoph Bumiller [Sun, 13 Dec 2009 13:14:41 +0000 (14:14 +0100)]
nv50: use m2mf z pos instead of calculating offset manually
Christoph Bumiller [Sun, 13 Dec 2009 12:44:49 +0000 (13:44 +0100)]
nv50: add craziness for non-constant TXB and TXL
If lod or bias can be non-constant across a quad of fragments,
we need to execute TEX separately for each value.
Don't ask why.
Patrice Mandin [Sat, 12 Dec 2009 22:15:08 +0000 (23:15 +0100)]
Revert "nouveau: nv30: Disable swizzled surface usage if any dimension is 1 (Warsow creates a 1x1 front buffer)"
This reverts commit
ec7844537ecdb0b598447e37bf0b7120acd029f3.
Patrice Mandin [Sat, 12 Dec 2009 21:31:53 +0000 (22:31 +0100)]
nouveau: nv30: Disable swizzled surface usage if any dimension is 1 (Warsow creates a 1x1 front buffer)
Michal Krol [Sat, 12 Dec 2009 15:58:43 +0000 (16:58 +0100)]
Remove grammar module -- no dependencies left.
Michal Krol [Sat, 12 Dec 2009 15:49:26 +0000 (16:49 +0100)]
slang: Delete a file that is now autogenerated.
This file has been modified in master and removed in feature branch.
This gave a merge conflict I couldn't resolve by removing and git adding
it to index.
Michal Krol [Sat, 12 Dec 2009 15:48:32 +0000 (16:48 +0100)]
Merge branch 'master' into glsl-pp-rework-2
Conflicts:
progs/perf/drawoverhead.c
progs/perf/teximage.c
progs/perf/vbo.c
progs/perf/vertexrate.c
src/mesa/shader/slang/library/slang_common_builtin_gc.h
Christoph Bumiller [Wed, 9 Dec 2009 23:36:03 +0000 (00:36 +0100)]
nv50: support TXB and TXL
... and don't set the 'live' flag for TEX anymore, we'd
have to know if results affect the inputs for another TEX,
and I'm not going to do that kind of analysis now.
Christoph Bumiller [Wed, 9 Dec 2009 22:45:52 +0000 (23:45 +0100)]
nv50: add S8Z24 depth texture format too
Christoph Bumiller [Thu, 10 Dec 2009 19:54:18 +0000 (20:54 +0100)]
nv50: fix depth comparison func TSC bits
Unfortunately it seems that if depth comparison is
active and we read a 2D texture, i.e. provide only
2 inputs, the second is used for comparison ...
Christoph Bumiller [Mon, 7 Dec 2009 19:40:39 +0000 (20:40 +0100)]
nv50: add src_mask case for IF opcode
Christoph Bumiller [Fri, 4 Dec 2009 22:16:32 +0000 (23:16 +0100)]
nv50: plug memory leak in miptree creation/destruction
Keeping this dynamically allocated for texture arrays.
Since we don't use it to store zslice offsets anymore
it's either 1 or 6 integers (cube) ...
Christoph Bumiller [Wed, 2 Dec 2009 18:59:07 +0000 (19:59 +0100)]
nv50: use copies of tgsi src nv50_regs
So we can use the 'mod' member without concern
if a source is used multiple times in 1 insn.
Christoph Bumiller [Thu, 10 Dec 2009 19:50:02 +0000 (20:50 +0100)]
nv50: support vertex program textures
Maciej Cencora [Fri, 11 Dec 2009 23:50:26 +0000 (00:50 +0100)]
r300: disable blit debugging info
Maciej Cencora [Sun, 22 Nov 2009 14:12:24 +0000 (15:12 +0100)]
r300: emit number of used colorbuffers to pass radeon cs checker
Maciej Cencora [Sat, 21 Nov 2009 20:18:41 +0000 (21:18 +0100)]
r300: setup render target format for r300/r400 cards too
Maciej Cencora [Sat, 21 Nov 2009 17:16:29 +0000 (18:16 +0100)]
r300: finish blit support for r300
Maciej Cencora [Tue, 10 Nov 2009 18:47:04 +0000 (19:47 +0100)]
more blit fixes
Maciej Cencora [Mon, 9 Nov 2009 22:01:35 +0000 (23:01 +0100)]
blit WIP
Maciej Cencora [Sun, 8 Nov 2009 21:01:17 +0000 (22:01 +0100)]
r300: use accelerated emit for CopyTex[Sub]Image functions
Maciej Cencora [Sun, 8 Nov 2009 21:01:12 +0000 (22:01 +0100)]
r300: accelerated blit support