Brian Paul [Tue, 6 May 2008 19:47:41 +0000 (13:47 -0600)]
gallium: create drawing surfaces as GPU_READ/WRITE only
Create different temporary surfaces for CPU_READ/WRITE when needed (such as
for glReadPixels, glAccum, some glCopy/DrawPixels, glCopyTexSubImage, etc).
Michal Danzer [Tue, 6 May 2008 18:35:25 +0000 (12:35 -0600)]
gallium: create renderbuffer surface w/out CPU_READ/WRITE flags
Michal Danzer [Tue, 6 May 2008 18:34:34 +0000 (12:34 -0600)]
gallium: move setup of dest_surface in do_copy_texsubimage()
José Fonseca [Tue, 6 May 2008 17:51:49 +0000 (02:51 +0900)]
gallium: Simple facility to dump and view images for debugging.
Brian Paul [Tue, 6 May 2008 14:37:28 +0000 (08:37 -0600)]
gallium: sync up texture/sampler changes with master
Michel Dänzer [Tue, 6 May 2008 11:24:04 +0000 (12:24 +0100)]
gallium: Make sure to release texture surfaces (at the right time).
Michel Dänzer [Tue, 6 May 2008 11:23:16 +0000 (12:23 +0100)]
gallium: glCopyTexSubImage improvement.
Only get a texture surface for attempting an accelerated copy, and mark it for
GPU use only.
Michel Dänzer [Tue, 6 May 2008 08:07:11 +0000 (09:07 +0100)]
gallium: Define util_sprintf for non-WIN32.
Keith Whitwell [Tue, 6 May 2008 06:45:28 +0000 (07:45 +0100)]
Merge commit 'origin/gallium-0.1' into gallium-tex-surfaces
Conflicts:
src/mesa/state_tracker/st_atom_sampler.c
src/mesa/state_tracker/st_cb_texture.c
José Fonseca [Tue, 6 May 2008 05:57:18 +0000 (14:57 +0900)]
gallium: New pipe_screen interface to overlay a texture on existing memory.
Alan Hourihane [Mon, 5 May 2008 22:09:38 +0000 (23:09 +0100)]
fix _mesa_ffs for alternative compilers
Alan Hourihane [Mon, 5 May 2008 22:08:59 +0000 (23:08 +0100)]
declare atoms as extern
José Fonseca [Mon, 5 May 2008 14:58:37 +0000 (23:58 +0900)]
util: Alternative implementation for standard c library string functions.
José Fonseca [Mon, 5 May 2008 14:57:51 +0000 (23:57 +0900)]
scons: A few more compiler flags adjustments to match winddk.
Brian Paul [Sat, 3 May 2008 23:01:20 +0000 (17:01 -0600)]
gallium: fix some BaseLevel, lastLevel bugs
Brian Paul [Sat, 3 May 2008 15:26:25 +0000 (09:26 -0600)]
gallium: fix warnings
Brian Paul [Sat, 3 May 2008 15:08:42 +0000 (09:08 -0600)]
Press <space> to reset limit/bias values, clean-up limit/bias printf
Brian Paul [Sat, 3 May 2008 15:07:11 +0000 (09:07 -0600)]
gallium: fix sampler->max_lod computation
Brian Paul [Sat, 3 May 2008 14:58:44 +0000 (08:58 -0600)]
gallium: fix computation of sampler->min_lod
The texture BaseLevel is accounted for in texture layout so it doesn't factor
in here. May also need to adjust max_lod...
Keith Whitwell [Sat, 3 May 2008 14:41:05 +0000 (15:41 +0100)]
gallium: add pipe surface layout value (Roland Scheidegger)
Brian Paul [Fri, 2 May 2008 20:00:35 +0000 (14:00 -0600)]
gallium: remove 0.5 vertex biases in set_vertex_data()
These should not be needed and were causing garbage to appear along the
edges of the mipmap images.
Brian Paul [Fri, 2 May 2008 20:00:08 +0000 (14:00 -0600)]
gallium: remove obsolete PIPE_CAP_BITMAP_TEXCOORD_BIAS
Brian Paul [Fri, 2 May 2008 17:12:15 +0000 (11:12 -0600)]
gallium: set template.target = PIPE_TEXTURE_2D
Keith Whitwell [Fri, 2 May 2008 16:56:01 +0000 (17:56 +0100)]
gallium: identify depth-stencil textures
And don't use the display-target path to allocate them.
Keith Whitwell [Fri, 2 May 2008 16:55:22 +0000 (17:55 +0100)]
brw: remove dead code
Brian Paul [Fri, 2 May 2008 16:43:29 +0000 (10:43 -0600)]
gallium: minor code, comments clean-up
Brian Paul [Fri, 2 May 2008 16:38:39 +0000 (10:38 -0600)]
gallium: in st_finalize_texture() check texture dimensions
Check dimensions in addition to target, format, etc.
Fixes a bug where we failed to detect a change in texture image sizes and
wound up using the old texture data.
Brian Paul [Fri, 2 May 2008 16:37:20 +0000 (10:37 -0600)]
gallium: new debug code (disabled)
Keith Whitwell [Fri, 2 May 2008 15:56:06 +0000 (16:56 +0100)]
i915: update to new display target allocation
Keith Whitwell [Fri, 2 May 2008 15:46:31 +0000 (16:46 +0100)]
gallium: Add texture usage flags, special-case allocation of display targets
For many envirionments it's necessary to allocate display targets
in a window-system friendly manner. Add facilities so that a driver
can tell if a texture is likely to be used to generate a display surface
and if use special allocation paths if necessary.
Hook up softpipe to call into the winsys->surface_alloc_storage()
routine in this case, though we probably want to change that interface
slightly also.
Brian Paul [Fri, 2 May 2008 15:26:17 +0000 (09:26 -0600)]
gallium: fix typos, comments, whitespace
Brian Paul [Fri, 2 May 2008 14:22:25 +0000 (08:22 -0600)]
gallium: remove ^M (CR) chars
Brian Paul [Fri, 2 May 2008 13:54:11 +0000 (07:54 -0600)]
gallium: code movement (XSHM code)
Brian Paul [Thu, 1 May 2008 22:21:43 +0000 (16:21 -0600)]
set TextureID = NULL after deleting the array
Brian Paul [Thu, 1 May 2008 21:29:25 +0000 (15:29 -0600)]
gallium: comments, clean-ups
Michel Dänzer [Fri, 2 May 2008 15:22:20 +0000 (16:22 +0100)]
gallium: Reallocate pipe_texture in st_TexImage if the texture object was used.
Fixes problems with interleaved glTexImage and rendering calls.
Alan Hourihane [Fri, 2 May 2008 15:25:37 +0000 (15:25 +0000)]
snprintf -> util_snprintf
Michal Krol [Fri, 2 May 2008 14:12:55 +0000 (16:12 +0200)]
tgsi: Enable fast high precision rsqrt.
Keith Whitwell [Fri, 2 May 2008 14:02:18 +0000 (16:02 +0200)]
tgsi: Implement fast rsqrtf. Not tested, inactive.
Keith Whitwell [Fri, 2 May 2008 13:27:10 +0000 (14:27 +0100)]
gallium: remove usage of winsys->surface_alloc_storage from state tracker
Allocate a texture containing storage instead.
Also clean up ACCUM buffer allocation slightly -- drivers will need
some changes to texture allocation logic to accomodate the concept of
a texture that will only as image storage by the CPU, but it's cleaner
than it was.
Keith Whitwell [Fri, 2 May 2008 11:17:11 +0000 (12:17 +0100)]
gallium: fix build after merge
Keith Whitwell [Fri, 2 May 2008 11:00:13 +0000 (12:00 +0100)]
Merge branch 'gallium-0.1' into gallium-tex-surfaces
Alan Hourihane [Fri, 2 May 2008 10:34:58 +0000 (10:34 +0000)]
revert mode change back to 644
Alan Hourihane [Fri, 2 May 2008 10:31:46 +0000 (10:31 +0000)]
inline -> INLINE
Alan Hourihane [Fri, 2 May 2008 10:08:03 +0000 (10:08 +0000)]
Some changed for non-C99 compilers
Keith Whitwell [Thu, 1 May 2008 17:13:46 +0000 (18:13 +0100)]
re-add pipe_surface map/unmap inlines
Keith Whitwell [Thu, 1 May 2008 16:55:52 +0000 (17:55 +0100)]
cso: can memcmp-compare pipe_framebuffer_state now it includes fb dimensions
Michal Krol [Fri, 2 May 2008 09:13:58 +0000 (11:13 +0200)]
tgsi: Do not assume IN and OUT registers are declared sequentially.
Michal Krol [Fri, 2 May 2008 08:20:53 +0000 (10:20 +0200)]
tgsi: Fix build on Win32.
Michal Krol [Thu, 1 May 2008 14:39:54 +0000 (16:39 +0200)]
tgsi: Dump destination register modulate modifier.
Brian [Fri, 2 May 2008 00:56:20 +0000 (18:56 -0600)]
gallium: temporarily disable broken SSE2 code for ARL opcode
Brian [Fri, 2 May 2008 00:49:20 +0000 (18:49 -0600)]
gallium: implement TGSI_OPCODE_EXP
Brian [Fri, 2 May 2008 00:42:01 +0000 (18:42 -0600)]
gallium: implement TGSI_OPCODE_LOG
Brian Paul [Thu, 1 May 2008 21:21:40 +0000 (15:21 -0600)]
added cast for MSVC
Brian Paul [Thu, 1 May 2008 21:19:00 +0000 (15:19 -0600)]
gallium: remove the unused softpipe_winsys code
The struct is still there though until all winsys layers are updated
Brian Paul [Thu, 1 May 2008 21:08:05 +0000 (15:08 -0600)]
gallium: use screen->tex_surface_release()
Keith Whitwell [Thu, 1 May 2008 19:45:15 +0000 (20:45 +0100)]
tgsi: remove some bogus win vs. linux crud
Pass arguments properly in linux now. Still need to change this to use
a single calling convention on both platforms.
Keith Whitwell [Thu, 1 May 2008 19:44:41 +0000 (20:44 +0100)]
rtasm: learn another version of push
Keith Whitwell [Thu, 1 May 2008 19:42:44 +0000 (20:42 +0100)]
draw: label fn args -- shouldn't this be defined where the fn is created?
Keith Whitwell [Thu, 1 May 2008 19:41:03 +0000 (20:41 +0100)]
rtasm: fix labels after (not so) recent change to allow dynamic fn growth
Using char * for labels doesn't work if you realloc the function
during assembly and free the old storage...
Keith Whitwell [Thu, 1 May 2008 17:50:33 +0000 (18:50 +0100)]
i915: avoid crashing on bad parameter
Keith Whitwell [Thu, 1 May 2008 17:49:52 +0000 (18:49 +0100)]
i915: fix warning
Keith Whitwell [Thu, 1 May 2008 17:49:07 +0000 (18:49 +0100)]
softpipe: fix warning
Keith Whitwell [Thu, 1 May 2008 17:48:28 +0000 (18:48 +0100)]
sct: fix bug in remove_context_from_surface
Michel Dänzer [Thu, 1 May 2008 16:31:39 +0000 (17:31 +0100)]
gallium: Set sampler->min_lod instead of always reallocating pipe_textures.
Michel Dänzer [Thu, 1 May 2008 16:30:17 +0000 (17:30 +0100)]
gallium: Notify driver of texture updates in util_blit_pixels().
Keith Whitwell [Thu, 1 May 2008 14:45:51 +0000 (15:45 +0100)]
tgsi: restore HIGH_PRECISION setting
Keith Whitwell [Thu, 1 May 2008 14:36:14 +0000 (15:36 +0100)]
tgsi: add some const qualifiers to immediate pointers
Keith Whitwell [Thu, 1 May 2008 14:32:03 +0000 (15:32 +0100)]
mesa: squash harmless warning
Keith Whitwell [Thu, 1 May 2008 14:31:17 +0000 (15:31 +0100)]
rtasm: assert stack is fully popped in return
Keith Whitwell [Thu, 1 May 2008 14:30:50 +0000 (15:30 +0100)]
draw: avoid aliasing warning
Keith Whitwell [Thu, 1 May 2008 14:27:53 +0000 (15:27 +0100)]
tgsi: use EBX everywhere, be sure to push/pop it
Keith Whitwell [Thu, 1 May 2008 14:13:46 +0000 (15:13 +0100)]
tgsi: use x86_fn_arg instead of get_argument() -- it knows about push/pops to the stack
Keith Whitwell [Thu, 1 May 2008 13:51:18 +0000 (14:51 +0100)]
tgsi: use ESI instead of EBX on non-win32 platforms
Keith Whitwell [Thu, 1 May 2008 13:19:25 +0000 (14:19 +0100)]
gallium: do something sensible on the error path to try to avoid crashing in release builds
Alan Hourihane [Thu, 1 May 2008 13:54:56 +0000 (14:54 +0100)]
Fix build problem with MSVC
José Fonseca [Thu, 1 May 2008 12:52:05 +0000 (21:52 +0900)]
Add Brian's explanation for inheritance in C.
José Fonseca [Thu, 1 May 2008 01:20:31 +0000 (10:20 +0900)]
gallium: Add newline to eof.
Keith Whitwell [Thu, 1 May 2008 12:47:27 +0000 (13:47 +0100)]
draw: squash warnings
Keith Whitwell [Thu, 1 May 2008 12:47:09 +0000 (13:47 +0100)]
draw: turn on SSE swizzle code
Keith Whitwell [Thu, 1 May 2008 11:28:50 +0000 (12:28 +0100)]
gallium: add information to surface to identify which texture image it is pointing at
Keith Whitwell [Thu, 1 May 2008 11:21:48 +0000 (12:21 +0100)]
softpipe: missing file
Keith Whitwell [Thu, 1 May 2008 10:28:47 +0000 (11:28 +0100)]
softpipe: use CPU flags for mapping
But when creating surfaces, adjust incoming flags from GPU->CPU usage.
Keith Whitwell [Thu, 1 May 2008 10:07:21 +0000 (11:07 +0100)]
gallium: tex surface checkpoint
Brian Paul [Thu, 1 May 2008 00:23:17 +0000 (18:23 -0600)]
gallium: remove old files
Brian Paul [Thu, 1 May 2008 00:21:10 +0000 (18:21 -0600)]
gallium: fix texture border removal bug
Brian Paul [Wed, 30 Apr 2008 22:50:17 +0000 (16:50 -0600)]
gallium: use the newer PIPE_FORMAT_x_UNORM format names
Brian Paul [Wed, 30 Apr 2008 22:49:38 +0000 (16:49 -0600)]
gallium: rename old PIPE_FORMAT_U_I8 with PIPE_FORMAT_I8_UNORM, etc.
Now all the packed color types are consistantly named.
Added temporary #defines for the old names until all drivers are updated.
Brian Paul [Wed, 30 Apr 2008 22:41:53 +0000 (16:41 -0600)]
gallium: replace old PIPE_FORMAT_U_S8 with PIPE_FORMAT_S8_UNORM
Brian Paul [Wed, 30 Apr 2008 22:05:01 +0000 (16:05 -0600)]
Add support for GL_REPLACE_EXT texture env mode.
GL_REPLACE_EXT comes from the ancient GL_EXT_texture extension. Found an old demo that
actually uses it.
The values of the GL_REPLACE and GL_REPLACE_EXT tokens is different, unfortunately.
Brian Paul [Wed, 30 Apr 2008 20:43:28 +0000 (14:43 -0600)]
added xdemos/sharedtex.c test
Test that modifications to a texture object in one rendering context are seen
in a second rendering context.
Press 't' to change the texture's image/colors.
Brian Paul [Wed, 30 Apr 2008 19:24:35 +0000 (13:24 -0600)]
gallium: fix typo: s/custam/custom/
Zack Rusin [Wed, 30 Apr 2008 18:05:49 +0000 (14:05 -0400)]
plug a memleak, destroy setup context
Zack Rusin [Wed, 30 Apr 2008 06:04:28 +0000 (02:04 -0400)]
try to fix the deleting of the bound cso during cleanup of the hash
José Fonseca [Wed, 30 Apr 2008 18:43:19 +0000 (03:43 +0900)]
gallium: Fix release build.
José Fonseca [Wed, 30 Apr 2008 15:59:12 +0000 (00:59 +0900)]
d3d: Windows miniport driver portability fixes.
José Fonseca [Wed, 30 Apr 2008 15:58:04 +0000 (00:58 +0900)]
scons: Try to cope with scons 0.98+.
Brian Paul [Wed, 30 Apr 2008 16:43:59 +0000 (10:43 -0600)]
gallium: use new buffer wrapper functions in p_inlines.h
This allows us to remove most of the direct references to winsys in the state tracker.
Brian Paul [Wed, 30 Apr 2008 16:43:09 +0000 (10:43 -0600)]
gallium: new pipe_buffer alloc/map/unmap/ref wrappers
Brian Paul [Wed, 30 Apr 2008 16:10:44 +0000 (10:10 -0600)]
gallium: consolidate the bitmap->texel conversion code