mesa.git
14 years agointel: Fix emit_linear_blit to use DWORD aligned width blits
Peter Clifton [Sat, 6 Nov 2010 09:23:06 +0000 (09:23 +0000)]
intel: Fix emit_linear_blit to use DWORD aligned width blits

The width of the 2D blits used to copy the data is defined as a 16-bit
signed integer, but the pitch must be DWORD aligned. Limit to an integral
number of DWORDs, (1 << 15 - 4) rather than (1 << 15 -1).

Fixes corruption to data uploaded with glBufferSubData.

Signed-off-by: Peter Clifton <pcjc2@cam.ac.uk>
14 years agor600c: properly align mipmaps to group size
Alex Deucher [Mon, 8 Nov 2010 16:56:41 +0000 (11:56 -0500)]
r600c: properly align mipmaps to group size

fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=31400

14 years agograw: Export graw_save_surface_to_file().
Michal Krol [Fri, 5 Nov 2010 17:54:02 +0000 (18:54 +0100)]
graw: Export graw_save_surface_to_file().

Allows applications to dump surfaces to file without
referencing gallium/auxiliary entry points statically.

Existing test apps have been modified such that
they save the contents of the fronbuffer only
when the `-o' option's specified.

14 years agoos: Open file streams in binary mode.
Michal Krol [Mon, 8 Nov 2010 16:23:32 +0000 (17:23 +0100)]
os: Open file streams in binary mode.

Otherwise we'll get garbled data on Windows.

14 years agomesa: Clean up header file inclusion in extensions.h.
Vinson Lee [Mon, 8 Nov 2010 05:15:45 +0000 (21:15 -0800)]
mesa: Clean up header file inclusion in extensions.h.

14 years agomesa: Clean up header file inclusion in enable.h.
Vinson Lee [Mon, 8 Nov 2010 05:09:32 +0000 (21:09 -0800)]
mesa: Clean up header file inclusion in enable.h.

14 years agomesa: Clean up header file inclusion in drawtex.h.
Vinson Lee [Mon, 8 Nov 2010 05:05:01 +0000 (21:05 -0800)]
mesa: Clean up header file inclusion in drawtex.h.

14 years agomesa: Clean up header file inclusion in drawpix.h.
Vinson Lee [Mon, 8 Nov 2010 05:02:31 +0000 (21:02 -0800)]
mesa: Clean up header file inclusion in drawpix.h.

14 years agomesa: Clean up header file inclusion in depthstencil.h.
Vinson Lee [Mon, 8 Nov 2010 04:57:32 +0000 (20:57 -0800)]
mesa: Clean up header file inclusion in depthstencil.h.

14 years agomesa: Clean up header file inclusion in depth.h.
Vinson Lee [Mon, 8 Nov 2010 04:54:33 +0000 (20:54 -0800)]
mesa: Clean up header file inclusion in depth.h.

14 years agomesa: Clean up header file inclusion in debug.h.
Vinson Lee [Mon, 8 Nov 2010 04:47:10 +0000 (20:47 -0800)]
mesa: Clean up header file inclusion in debug.h.

14 years agomesa: Clean up header file inclusion in convolve.h.
Vinson Lee [Mon, 8 Nov 2010 04:39:54 +0000 (20:39 -0800)]
mesa: Clean up header file inclusion in convolve.h.

14 years agomesa: Clean up header file inclusion in colortab.h.
Vinson Lee [Mon, 8 Nov 2010 04:23:15 +0000 (20:23 -0800)]
mesa: Clean up header file inclusion in colortab.h.

14 years agomesa: Clean up header file inclusion in buffers.h.
Vinson Lee [Mon, 8 Nov 2010 04:00:32 +0000 (20:00 -0800)]
mesa: Clean up header file inclusion in buffers.h.

14 years agomesa: Clean up header file inclusion in blend.h.
Vinson Lee [Mon, 8 Nov 2010 03:54:00 +0000 (19:54 -0800)]
mesa: Clean up header file inclusion in blend.h.

14 years agomesa: Clean up header file inclusion in attrib.h.
Vinson Lee [Mon, 8 Nov 2010 03:49:12 +0000 (19:49 -0800)]
mesa: Clean up header file inclusion in attrib.h.

14 years agomesa: Clean up header file inclusion in atifragshader.h.
Vinson Lee [Mon, 8 Nov 2010 03:41:42 +0000 (19:41 -0800)]
mesa: Clean up header file inclusion in atifragshader.h.

14 years agomesa: make fixed-pt and byte-valued arrays a runtime feature
Brian Paul [Mon, 8 Nov 2010 01:35:35 +0000 (18:35 -0700)]
mesa: make fixed-pt and byte-valued arrays a runtime feature

These ES1 features were only tested for in the vertex array code.
Checking the ctx->API field at runtime is cleaner than the #ifdef
stuff and supports choosing the API at runtime.

14 years agomesa: remove stray GL_FLOAT case in _mesa_is_legal_format_and_type()
Brian Paul [Mon, 8 Nov 2010 01:33:53 +0000 (18:33 -0700)]
mesa: remove stray GL_FLOAT case in _mesa_is_legal_format_and_type()

14 years agomesa: implement uint texstore code
Brian Paul [Mon, 8 Nov 2010 01:33:42 +0000 (18:33 -0700)]
mesa: implement uint texstore code

We used float temporary images before which could lose precision for
uint-valued texture images.

14 years agomesa: rename vars in pixel pack/unpack code
Brian Paul [Mon, 8 Nov 2010 01:33:20 +0000 (18:33 -0700)]
mesa: rename vars in pixel pack/unpack code

14 years agomesa: consolidate pixel packing/unpacking code
Brian Paul [Mon, 8 Nov 2010 01:33:07 +0000 (18:33 -0700)]
mesa: consolidate pixel packing/unpacking code

14 years agomesa: Clean up header file inclusion in arrayobj.h.
Vinson Lee [Sun, 7 Nov 2010 22:29:21 +0000 (14:29 -0800)]
mesa: Clean up header file inclusion in arrayobj.h.

14 years agor600g: Mention AMD in the renderer string.
Henri Verbeet [Sun, 7 Nov 2010 17:40:12 +0000 (18:40 +0100)]
r600g: Mention AMD in the renderer string.

14 years agomesa: Include mfeatures.h in api_validate.c for FEATURE_* symbols.
Vinson Lee [Sun, 7 Nov 2010 04:13:40 +0000 (21:13 -0700)]
mesa: Include mfeatures.h in api_validate.c for FEATURE_* symbols.

14 years agomesa: Include mfeatures.h in api_loopback for FEATURE_beginend.
Vinson Lee [Sun, 7 Nov 2010 04:05:16 +0000 (21:05 -0700)]
mesa: Include mfeatures.h in api_loopback for FEATURE_beginend.

14 years agomesa: Clean up header file inclusion in api_validate.h.
Vinson Lee [Sun, 7 Nov 2010 03:56:15 +0000 (20:56 -0700)]
mesa: Clean up header file inclusion in api_validate.h.

14 years agomesa: Clean up header file inclusion in api_loopback.h.
Vinson Lee [Sun, 7 Nov 2010 03:50:13 +0000 (20:50 -0700)]
mesa: Clean up header file inclusion in api_loopback.h.

14 years agomesa: Clean up header file inclusion in version.h.
Vinson Lee [Sun, 7 Nov 2010 03:40:13 +0000 (20:40 -0700)]
mesa: Clean up header file inclusion in version.h.

14 years agomesa: Clean up header file inclusion in accum.h.
Vinson Lee [Sun, 7 Nov 2010 03:27:45 +0000 (20:27 -0700)]
mesa: Clean up header file inclusion in accum.h.

14 years agomesa: Fix delayed state flagging for EXT_sso-related program changes.
Eric Anholt [Sat, 6 Nov 2010 18:43:45 +0000 (11:43 -0700)]
mesa: Fix delayed state flagging for EXT_sso-related program changes.

Flushing the vertices after having already updated the state doesn't
do any good.  Fixes useshaderprogram-flushverts-1.  As a side effect,
by moving it to the right place we end up skipping no-op state changes
for traditional glUseProgram.

14 years agometa: Don't try to disable cube maps if the driver doesn't expose the extension.
Francisco Jerez [Sat, 30 Oct 2010 14:32:00 +0000 (16:32 +0200)]
meta: Don't try to disable cube maps if the driver doesn't expose the extension.

Signed-off-by: Brian Paul <brianp@vmware.com>
14 years agovbo: Avoid unnecessary copy to/from current in vertex format upgrade.
Francisco Jerez [Sun, 31 Oct 2010 22:51:30 +0000 (23:51 +0100)]
vbo: Avoid unnecessary copy to/from current in vertex format upgrade.

Rebuilding the vertex format from scratch every time we see a new
vertex attribute is rather costly, new attributes can be appended at
the end avoiding a copy to current and then back again, and the full
attr pointer recalculation.

In the not so likely case of an already existing attribute having its
size increased the old behavior is preserved, this could be optimized
more, not sure if it's worth it.

It's a modest improvement in FlightGear (that game punishes the VBO
module pretty hard in general, framerate goes from some 46 FPS to 50
FPS with the nouveau classic driver).

Signed-off-by: Brian Paul <brianp@vmware.com>
14 years agoscons: Unify state tracker SConscripts
Jakob Bornecrantz [Fri, 5 Nov 2010 18:30:06 +0000 (18:30 +0000)]
scons: Unify state tracker SConscripts

14 years agoscons: Move dependancy checks to the main gallium scons file
Jakob Bornecrantz [Fri, 5 Nov 2010 18:18:09 +0000 (18:18 +0000)]
scons: Move dependancy checks to the main gallium scons file

14 years agoscons: Check for libdrm_[intel|radeon] as well
Jakob Bornecrantz [Fri, 5 Nov 2010 16:55:46 +0000 (16:55 +0000)]
scons: Check for libdrm_[intel|radeon] as well

And run SConscripts if they are present.
Also make dri depend on both drm and x11.

14 years agoscons: Check for pkg-config before trying to use it
Jakob Bornecrantz [Thu, 4 Nov 2010 20:47:13 +0000 (20:47 +0000)]
scons: Check for pkg-config before trying to use it

Silences warning about missing packages

14 years agoscons: Detabify
Jakob Bornecrantz [Thu, 4 Nov 2010 21:12:30 +0000 (21:12 +0000)]
scons: Detabify

Drivers scons files for a later time

14 years agoscons: Remove old pipebuffer SConscript
Jakob Bornecrantz [Fri, 5 Nov 2010 17:46:53 +0000 (17:46 +0000)]
scons: Remove old pipebuffer SConscript

14 years agosoftpipe: disable vertex texturing with draw/llvm
Brian Paul [Fri, 5 Nov 2010 20:40:33 +0000 (14:40 -0600)]
softpipe: disable vertex texturing with draw/llvm

This is a temporary work around to prevent crashes with glean/glsl1
(for example) which try to do vertex shader texturing.

14 years agogallivm: add const qualifiers, fix comment string
Brian Paul [Fri, 5 Nov 2010 14:51:53 +0000 (08:51 -0600)]
gallivm: add const qualifiers, fix comment string

14 years agogallivm: alloca() was called too often for temporary arrays
Brian Paul [Fri, 5 Nov 2010 14:49:53 +0000 (08:49 -0600)]
gallivm: alloca() was called too often for temporary arrays

Need to increment the array index to point to the last value.
Before, we were calling lp_build_array_alloca() over and over for
no reason.

14 years agoi965: Silence uninitialized variable warning.
Vinson Lee [Fri, 5 Nov 2010 00:42:00 +0000 (17:42 -0700)]
i965: Silence uninitialized variable warning.

Silences this GCC warning.
brw_wm_fp.c: In function 'brw_wm_pass_fp':
brw_wm_fp.c:966: warning: 'last_inst' may be used uninitialized in this function
brw_wm_fp.c:966: note: 'last_inst' was declared here

14 years agoi965: Silence uninitialized variable warning.
Vinson Lee [Fri, 5 Nov 2010 00:39:17 +0000 (17:39 -0700)]
i965: Silence uninitialized variable warning.

Silences this GCC warning.
brw_wm_fp.c: In function 'precalc_tex':
brw_wm_fp.c:666: warning: 'tmpcoord.Index' may be used uninitialized in this function

14 years agor300/compiler: Move declaration before code.
Vinson Lee [Fri, 5 Nov 2010 00:25:16 +0000 (17:25 -0700)]
r300/compiler: Move declaration before code.

Fixes this GCC warning with linux-x86 build.
radeon_dataflow.c: In function 'get_readers_normal_read_callback':
radeon_dataflow.c:472: warning: ISO C90 forbids mixed declarations and code

14 years agollvmpipe: added some debug assertions, but disabled
Brian Paul [Thu, 4 Nov 2010 23:52:49 +0000 (17:52 -0600)]
llvmpipe: added some debug assertions, but disabled

14 years agor300/compiler: Move declaration before code.
Vinson Lee [Fri, 5 Nov 2010 00:18:46 +0000 (17:18 -0700)]
r300/compiler: Move declaration before code.

Fixes this GCC warning with linux-x86 build.
radeon_pair_schedule.c: In function 'merge_presub_sources':
radeon_pair_schedule.c:312: warning: ISO C90 forbids mixed declarations and code

14 years agometa: Fix incorrect rendering of the bitmap alpha component.
Francisco Jerez [Tue, 2 Nov 2010 01:49:48 +0000 (02:49 +0100)]
meta: Fix incorrect rendering of the bitmap alpha component.

Signed-off-by: Brian Paul <brianp@vmware.com>
14 years agometa: Don't leak alpha function/reference value changes.
Francisco Jerez [Tue, 2 Nov 2010 02:06:30 +0000 (19:06 -0700)]
meta: Don't leak alpha function/reference value changes.

Signed-off-by: Brian Paul <brianp@vmware.com>
14 years agotgsi: remove unused function
Brian Paul [Thu, 4 Nov 2010 19:35:20 +0000 (13:35 -0600)]
tgsi: remove unused function

14 years agost/mesa: Reset the constant buffers before destroying the pipe context.
Tilman Sauerbeck [Tue, 2 Nov 2010 21:15:15 +0000 (22:15 +0100)]
st/mesa: Reset the constant buffers before destroying the pipe context.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
14 years agogallivm: implement execution mask for scatter stores
Brian Paul [Thu, 4 Nov 2010 16:01:28 +0000 (10:01 -0600)]
gallivm: implement execution mask for scatter stores

14 years agogallivm: added lp_elem_type()
Brian Paul [Thu, 4 Nov 2010 16:00:58 +0000 (10:00 -0600)]
gallivm: added lp_elem_type()

14 years agogallivm: add pixel offsets in scatter stores
Brian Paul [Thu, 4 Nov 2010 15:31:56 +0000 (09:31 -0600)]
gallivm: add pixel offsets in scatter stores

We want to do the scatter store to sequential locations in memory
for the vector of pixels we're processing in SOA format.

14 years agogallivm: added debug code to dump temp registers
Brian Paul [Thu, 4 Nov 2010 15:28:06 +0000 (09:28 -0600)]
gallivm: added debug code to dump temp registers

14 years agograw/gdi: Fix window dimensions.
Michal Krol [Thu, 4 Nov 2010 14:12:47 +0000 (15:12 +0100)]
graw/gdi: Fix window dimensions.

The requested window size is of the client area,
so account for surrounding borders and bars when
creating the window.

14 years agoscons: Hook-up graw-gdi target.
Michal Krol [Thu, 4 Nov 2010 13:33:31 +0000 (14:33 +0100)]
scons: Hook-up graw-gdi target.

14 years agograw/gdi: Initial commit.
Michal Krol [Thu, 4 Nov 2010 13:33:11 +0000 (14:33 +0100)]
graw/gdi: Initial commit.

14 years agor300g: Do not use buf param before checking for NULL.
Guillermo S. Romero [Wed, 3 Nov 2010 21:14:00 +0000 (22:14 +0100)]
r300g: Do not use buf param before checking for NULL.

Commit 8dfafbf0861fe3d2542332658dd5493851053c78 forgot to update r300g.
There is a buf == NULL check, but buf is used before for var init.

Tested-by: Guillermo S. Romero <gsromero@infernal-iceberg.com>
14 years agotgsi/build: Reduce interface clutter.
Michal Krol [Thu, 4 Nov 2010 11:20:14 +0000 (12:20 +0100)]
tgsi/build: Reduce interface clutter.

Make private those functions that are used internally only.

14 years agotgsi/exec: Get rid of obsolete condition codes.
Michal Krol [Thu, 4 Nov 2010 10:51:10 +0000 (11:51 +0100)]
tgsi/exec: Get rid of obsolete condition codes.

14 years agotgsi/exec: Cleanup the remaining arithmetic instructions.
Michal Krol [Thu, 4 Nov 2010 10:37:24 +0000 (11:37 +0100)]
tgsi/exec: Cleanup the remaining arithmetic instructions.

As a result remove some nasty macros.

14 years agodri/nouveau: Silence uninitialized variable warning.
Vinson Lee [Thu, 4 Nov 2010 01:13:14 +0000 (18:13 -0700)]
dri/nouveau: Silence uninitialized variable warning.

Fixes this GCC warning.
nouveau_vbo_t.c: In function 'nv10_vbo_render_prims':
nouveau_render_t.c:161: warning: 'max_out' may be used uninitialized in this function
nouveau_render_t.c:161: note: 'max_out' was declared here

14 years agogallivm: add some LLVM var labels
Brian Paul [Wed, 3 Nov 2010 23:32:21 +0000 (17:32 -0600)]
gallivm: add some LLVM var labels

14 years agogallivm: implement scatter stores into temp register file
Brian Paul [Wed, 3 Nov 2010 23:29:28 +0000 (17:29 -0600)]
gallivm: implement scatter stores into temp register file

Something is not quite right, however.  The piglit tests mentioned in
fd.o bug 31226 still don't pass.

14 years agoir_reader: Fix some potential NULL pointer dereferences.
Kenneth Graunke [Wed, 3 Nov 2010 02:53:12 +0000 (19:53 -0700)]
ir_reader: Fix some potential NULL pointer dereferences.

Found by inspection.

14 years agoir_reader: Remove useless error check.
Kenneth Graunke [Wed, 3 Nov 2010 02:15:55 +0000 (19:15 -0700)]
ir_reader: Remove useless error check.

It's already been determined that length == 3, so clearly swiz->next is
a valid S-Expression.

14 years agoir_reader: Return a specific ir_dereference variant.
Kenneth Graunke [Sun, 31 Oct 2010 05:29:07 +0000 (22:29 -0700)]
ir_reader: Return a specific ir_dereference variant.

There's really no reason to return the base class when we have more
specific information about what type it is.

14 years agoglsl: Don't print a useless space at the end of an S-Expression list.
Kenneth Graunke [Sun, 31 Oct 2010 04:45:34 +0000 (21:45 -0700)]
glsl: Don't print a useless space at the end of an S-Expression list.

We really only want to print spaces -between- elements, not after each
element.  This cleans up error messages from IR reader, making them
(mildly) easier to read.

14 years agoRefresh autogenerated file builtin_function.cpp.
Kenneth Graunke [Wed, 3 Nov 2010 02:55:36 +0000 (19:55 -0700)]
Refresh autogenerated file builtin_function.cpp.

14 years agoglsl/builtins: Clean up some ugly autogenerated code in atan.
Kenneth Graunke [Sun, 31 Oct 2010 04:59:52 +0000 (21:59 -0700)]
glsl/builtins: Clean up some ugly autogenerated code in atan.

In particular, calling the abs function is silly, since there's already
an expression opcode for that.  Also, assigning to temporaries then
assigning those to the final location is rather redundant.

14 years agoglsl/builtins: Rename 'x' to 'y_over_x' in atan(float) implementation.
Kenneth Graunke [Sun, 31 Oct 2010 04:51:01 +0000 (21:51 -0700)]
glsl/builtins: Rename 'x' to 'y_over_x' in atan(float) implementation.

For consistency with the vec2/vec3/vec4 variants.

14 years agor600g: Swap the util_blitter_destroy call order.
José Fonseca [Wed, 3 Nov 2010 20:22:28 +0000 (20:22 +0000)]
r600g: Swap the util_blitter_destroy call order.

Trivial change that avoids a segmentation fault when the blitter state
happens to be bound when the context is destroyed.

The free calls should probably removed altogether in the future -- the
responsibility to destroy the state atoms lies with whoever created it,
and the safest thing for the pipe driver is to not touch any bound state
in its destructor.

14 years agomesa: code to unpack RGBA as uints
Brian Paul [Sat, 30 Oct 2010 16:36:53 +0000 (10:36 -0600)]
mesa: code to unpack RGBA as uints

14 years agoxorg/vmwgfx: Link libkms when available.
José Fonseca [Wed, 3 Nov 2010 15:41:06 +0000 (15:41 +0000)]
xorg/vmwgfx: Link libkms when available.

14 years agost/xorg: Detect libkms with scons too.
José Fonseca [Wed, 3 Nov 2010 15:21:51 +0000 (15:21 +0000)]
st/xorg: Detect libkms with scons too.

14 years agost/xorg: Add missing \n to error message.
José Fonseca [Wed, 3 Nov 2010 15:14:29 +0000 (15:14 +0000)]
st/xorg: Add missing \n to error message.

14 years agoxorg/vmwgfx: Add missing source file to SConscript.
José Fonseca [Wed, 3 Nov 2010 14:01:44 +0000 (14:01 +0000)]
xorg/vmwgfx: Add missing source file to SConscript.

14 years agointel: Remove leftover dri1 locking fields in the context.
Eric Anholt [Wed, 3 Nov 2010 03:43:48 +0000 (20:43 -0700)]
intel: Remove leftover dri1 locking fields in the context.

14 years agointel: Remove duplicated teximage miptree to object miptree promotion.
Eric Anholt [Wed, 3 Nov 2010 03:36:47 +0000 (20:36 -0700)]
intel: Remove duplicated teximage miptree to object miptree promotion.

intel_finalize_mipmap_tree() does this optimization too, just more
aggressively.

14 years agointel: Avoid taking logbase2 of several things that we max.
Eric Anholt [Wed, 3 Nov 2010 03:30:41 +0000 (20:30 -0700)]
intel: Avoid taking logbase2 of several things that we max.

logbase2(max(width, height, depth)) ==
max(logbase2(width), logbase2(height), logbase2(depth)), but in 60
bytes less code.

14 years agoi965: Remove dead intel_structs.h file.
Eric Anholt [Wed, 3 Nov 2010 03:24:35 +0000 (20:24 -0700)]
i965: Remove dead intel_structs.h file.

14 years agointel: Remove the magic unaligned memcpy code.
Eric Anholt [Wed, 3 Nov 2010 03:15:45 +0000 (20:15 -0700)]
intel: Remove the magic unaligned memcpy code.

In testing on Ironlake, the histogram of clocks/pixel results for the
system memcpy and magic unaligned memcpy show no noticeable difference
(and no statistically significant difference with the 5510 samples
taken, though the stddev is large due to what looks like the cache
effects from the different texture sizes used).

14 years agointel: Annotate debug printout checks with unlikely().
Eric Anholt [Wed, 3 Nov 2010 02:55:07 +0000 (19:55 -0700)]
intel: Annotate debug printout checks with unlikely().

This provides the optimizer with hints about code hotness, which we're
quite certain about for debug printouts (or, rather, while we
developers often hit the checks for debug printouts, we don't care
about performance while doing so).

14 years agoegl/gdi: fix typo: xsurf->gsurf
Brian Paul [Wed, 3 Nov 2010 13:04:42 +0000 (07:04 -0600)]
egl/gdi: fix typo: xsurf->gsurf

14 years agoevergreeng: set hardware pixelcenters according to gl_rasterization_rules
Keith Whitwell [Wed, 3 Nov 2010 11:15:43 +0000 (11:15 +0000)]
evergreeng: set hardware pixelcenters according to gl_rasterization_rules

14 years agoevergreeng: respect linewidth state, use integer widths only
Keith Whitwell [Mon, 1 Nov 2010 14:19:18 +0000 (14:19 +0000)]
evergreeng: respect linewidth state, use integer widths only

Discard fractional bits from linewidth.  This matches the nvidia
closed drivers, my reading of the OpenGL SI and current llvmpipe
behaviour.

It looks a lot nicer & avoids ugliness where lines alternate between n
and n+1 pixels in width along their length.

Also fix up r600g to match.

14 years agor600g: don't call debug_get_bool_option for tiling more than once
Keith Whitwell [Wed, 3 Nov 2010 10:31:55 +0000 (10:31 +0000)]
r600g: don't call debug_get_bool_option for tiling more than once

14 years agoevergreeng: protect against null constant buffers
Keith Whitwell [Wed, 3 Nov 2010 10:24:28 +0000 (10:24 +0000)]
evergreeng: protect against null constant buffers

Should do better than this and actually unbind the buffer, but haven't
yet gotten it to work.

14 years agost/egl: Use native_display_buffer for EGL_MESA_drm_image.
Chia-I Wu [Sun, 10 Oct 2010 12:47:02 +0000 (20:47 +0800)]
st/egl: Use native_display_buffer for EGL_MESA_drm_image.

native_display_buffer is just a wrapper to resource_{from,get}_handle
for drm backend.

14 years agost/egl: Add native_display_buffer interface.
Chia-I Wu [Sun, 10 Oct 2010 12:15:06 +0000 (20:15 +0800)]
st/egl: Add native_display_buffer interface.

The interface is a wrapper to pipe_screen::resource_from_handle and
pipe_screen::resource_get_handle.  A winsys handle is
platform-dependent.

14 years agost/egl: Add extern "C" wrapper to native.h.
Chia-I Wu [Mon, 11 Oct 2010 08:29:43 +0000 (16:29 +0800)]
st/egl: Add extern "C" wrapper to native.h.

This allows a backend to be written in C++.

14 years agor600g: set hardware pixel centers according to gl_rasterization_rules
Keith Whitwell [Sun, 17 Oct 2010 18:45:49 +0000 (11:45 -0700)]
r600g: set hardware pixel centers according to gl_rasterization_rules

These were previously being left in the default (D3D) mode.  This mean
that triangles were drawn slightly incorrectly, but also because this
state is relied on by the u_blitter code, all blits were half a pixel
off.

14 years agor600g: remove unused flink, domain fields from r600_resource
Keith Whitwell [Tue, 2 Nov 2010 15:49:44 +0000 (15:49 +0000)]
r600g: remove unused flink, domain fields from r600_resource

These were being set but not used anywhere.

14 years agor600g: use a buffer in GTT as intermediate on texture up and downloads
Keith Whitwell [Tue, 2 Nov 2010 17:51:34 +0000 (17:51 +0000)]
r600g: use a buffer in GTT as intermediate on texture up and downloads

Generalize the existing tiled_buffer path in texture transfers for use
in some non-tiled up and downloads.

Use a staging buffer, which the winsys will restrict to GTT memory.

GTT buffers have the major advantage when they are mapped, they are
cachable, which is a very nice property for downloads, usually the CPU
will want to do look at the data it downloaded.

14 years agor600g: propogate resource usage flags to winsys, use to choose bo domains
Keith Whitwell [Tue, 2 Nov 2010 17:47:06 +0000 (17:47 +0000)]
r600g: propogate resource usage flags to winsys, use to choose bo domains

This opens the question of what interface the winsys layer should
really have for talking about these concepts.

For now I'm using the existing gallium resource usage concept, but
there is no reason not use terms closer to what the hardware
understands - eg. the domains themselves.

14 years agor600g: propagate usage flags in texture transfers
Keith Whitwell [Fri, 15 Oct 2010 13:44:30 +0000 (14:44 +0100)]
r600g: propagate usage flags in texture transfers

14 years agost/egl: Add support for EGL_MATCH_NATIVE_PIXMAP.
Chia-I Wu [Wed, 3 Nov 2010 08:49:47 +0000 (16:49 +0800)]
st/egl: Add support for EGL_MATCH_NATIVE_PIXMAP.

Added for completeness.  It makes sense to have such mechanism, but I am
not aware of any user of that..

14 years agost/egl: Add support for swap interval and swap behavior.
Chia-I Wu [Wed, 3 Nov 2010 08:20:26 +0000 (16:20 +0800)]
st/egl: Add support for swap interval and swap behavior.

The value of EGL_MAX_SWAP_INTERVAL and whether
EGL_SWAP_BEHAVIOR_PRESERVED_BIT is set will depend on the native
backend used.

14 years agost/egl: Remove flush_frontbuffer and swap_buffers.
Chia-I Wu [Wed, 3 Nov 2010 08:07:23 +0000 (16:07 +0800)]
st/egl: Remove flush_frontbuffer and swap_buffers.

They are deprecated by native_surface::present and there is no user of
them.