profile/ivi/mesa.git
14 years agor100/r200/r300/r300: only enable accelerated pixel ops with kms
Alex Deucher [Fri, 12 Mar 2010 16:16:50 +0000 (11:16 -0500)]
r100/r200/r300/r300: only enable accelerated pixel ops with kms

fixes fdo bug 27043

14 years agost/xorg: context transfers
Keith Whitwell [Fri, 12 Mar 2010 12:13:32 +0000 (12:13 +0000)]
st/xorg: context transfers

14 years agogallium: fix BGRA vertex color swizzles
Marek Olšák [Tue, 9 Mar 2010 01:55:42 +0000 (01:55 +0000)]
gallium: fix BGRA vertex color swizzles

The mapping for vertex_array_bgra:
(gl -> st -> translate)
GL_RGBA -> PIPE_FORMAT_R8G8B8A8 (RGBA) -> no swizzle (XYZW)
GL_BGRA -> PIPE_FORMAT_A8R8G8B8 (ARGB) -> ZYXW (BGRA again??)

Iẗ́'s pretty clear that PIPE_FORMAT_A8R8G8B8 here is wrong. This commit
fixes the pipe format and removes obvious workarounds in util/translate.

Tested with: softpipe, llvmpipe, r300g.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
14 years agost/mesa: Always recalculate invalid index bounds.
Corbin Simpson [Fri, 12 Mar 2010 10:51:40 +0000 (02:51 -0800)]
st/mesa: Always recalculate invalid index bounds.

These should always be sanitized before heading towards the pipe driver,
and if the calling function explicitly marked them as invalid, we need
to regenerate them.

Allows r300g to properly pass a bit more of Wine's d3d9 testing without
dropping stuff on the floor.

14 years agost/mesa: Update debug infos.
Corbin Simpson [Fri, 12 Mar 2010 10:51:10 +0000 (02:51 -0800)]
st/mesa: Update debug infos.

Still commented out, of course.

14 years agor300g: Properly clamp index limits.
Corbin Simpson [Fri, 12 Mar 2010 10:47:44 +0000 (02:47 -0800)]
r300g: Properly clamp index limits.

Make the kernel even less likely to barf on us.

14 years agoMerge commit 'origin/gallium-context-transfers-2'
Keith Whitwell [Fri, 12 Mar 2010 09:08:40 +0000 (09:08 +0000)]
Merge commit 'origin/gallium-context-transfers-2'

14 years agomesa: fix linux-dri and autogen builds since sw-api-2 merge
Keith Whitwell [Thu, 11 Mar 2010 14:43:00 +0000 (14:43 +0000)]
mesa: fix linux-dri and autogen builds since sw-api-2 merge

14 years agollvmpipe: Remove unnecessary header.
Vinson Lee [Fri, 12 Mar 2010 04:52:38 +0000 (20:52 -0800)]
llvmpipe: Remove unnecessary header.

14 years agogallivm: checkpoint WIP cubemap code
Brian Paul [Thu, 11 Mar 2010 23:26:52 +0000 (16:26 -0700)]
gallivm: checkpoint WIP cubemap code

14 years agogallivm: added lp_build_sum_vector()
Brian Paul [Thu, 11 Mar 2010 23:26:12 +0000 (16:26 -0700)]
gallivm: added lp_build_sum_vector()

14 years agosoftpipe: further tighen up sample_cube()
Brian Paul [Thu, 11 Mar 2010 23:23:36 +0000 (16:23 -0700)]
softpipe: further tighen up sample_cube()

The code can fairly easily be translated to llvm...

14 years agosoftpipe: tighten up the code in sample_cube()
Brian Paul [Thu, 11 Mar 2010 22:29:11 +0000 (15:29 -0700)]
softpipe: tighten up the code in sample_cube()

14 years agogallivm: enable 3D texture sampling
Brian Paul [Thu, 11 Mar 2010 21:42:26 +0000 (14:42 -0700)]
gallivm: enable 3D texture sampling

14 years agoprogs/demos: added 'f' key to toggle filtering mode in stex3d.c
Brian Paul [Thu, 11 Mar 2010 21:42:11 +0000 (14:42 -0700)]
progs/demos: added 'f' key to toggle filtering mode in stex3d.c

14 years agogallivm/llvmpipe: replace 'int stride' with 'int row_stride[MAX_LEVELS]'
Brian Paul [Thu, 11 Mar 2010 21:46:06 +0000 (14:46 -0700)]
gallivm/llvmpipe: replace 'int stride' with 'int row_stride[MAX_LEVELS]'

The stride depends on the mipmap level.  Rename to row_stride to
distinguish from img_stride for 3D textures.

Fixes incorrect texel addressing in small mipmap levels.

14 years agollvmpipe: fix comment typo
Brian Paul [Thu, 11 Mar 2010 21:03:33 +0000 (14:03 -0700)]
llvmpipe: fix comment typo

14 years agogallivm/llvmpipe: include os_llvm.h instead of llvm-c/Core.h
Brian Paul [Thu, 11 Mar 2010 20:57:52 +0000 (13:57 -0700)]
gallivm/llvmpipe: include os_llvm.h instead of llvm-c/Core.h

14 years agogallium/os: wrapper for llvm-c/Core.h and #define HAVE_LLVM if needed
Brian Paul [Thu, 11 Mar 2010 21:00:48 +0000 (14:00 -0700)]
gallium/os: wrapper for llvm-c/Core.h and #define HAVE_LLVM if needed

14 years agor200: support additional blit formats
Alex Deucher [Thu, 11 Mar 2010 18:48:28 +0000 (13:48 -0500)]
r200: support additional blit formats

swizzle in the pixel shader

14 years agogallivm: fix some bugs on the 1D texture paths
Brian Paul [Thu, 11 Mar 2010 18:17:15 +0000 (11:17 -0700)]
gallivm: fix some bugs on the 1D texture paths

14 years agost/mesa: don't enable extensions which aren't actually supported
Roland Scheidegger [Thu, 11 Mar 2010 17:54:14 +0000 (18:54 +0100)]
st/mesa: don't enable extensions which aren't actually supported

don't enable APPLE_client_storage, TDFX_texture_compression_FXT1,
EXT_cull_vertex, NV_vertex_program, NV_vertex_program1_1 -
the latter two might work somewhat with some luck.
Also don't enable ARB_imaging.

14 years agocell: adapt to context texture transfers (untested)
Roland Scheidegger [Thu, 11 Mar 2010 17:40:25 +0000 (18:40 +0100)]
cell: adapt to context texture transfers (untested)

14 years agogallium: remove pipe_context member from pipe_transfer
Keith Whitwell [Thu, 11 Mar 2010 16:10:25 +0000 (16:10 +0000)]
gallium: remove pipe_context member from pipe_transfer

There was very little use for this beyond permitting the
pipe_context::tex_transfer_destroy() function to omit the pipe_context
argument.

This change adds the pipe_context argument into tex_transfer_destroy()
so that it looks like other pipe_context functions, and removes the
pipe_context pointer from pipe_transfer.

14 years agowindows: Add new file to project file.
Karl Schultz [Thu, 11 Mar 2010 16:17:05 +0000 (09:17 -0700)]
windows: Add new file to project file.

14 years agogallivm: include tgsi_dump.h to silence warning
Brian Paul [Thu, 11 Mar 2010 15:52:03 +0000 (08:52 -0700)]
gallivm: include tgsi_dump.h to silence warning

14 years agogallivm: move declarations to silence unused var warnings
Brian Paul [Thu, 11 Mar 2010 15:51:44 +0000 (08:51 -0700)]
gallivm: move declarations to silence unused var warnings

14 years agogallium/util: use memset() to initialize vars to avoid warnings
Brian Paul [Thu, 11 Mar 2010 15:51:18 +0000 (08:51 -0700)]
gallium/util: use memset() to initialize vars to avoid warnings

14 years agosvga: use memset() to initialize u to avoid warnings
Brian Paul [Thu, 11 Mar 2010 15:50:39 +0000 (08:50 -0700)]
svga: use memset() to initialize u to avoid warnings

14 years agogallivm: Use bitmasks for scalar masks.
José Fonseca [Thu, 11 Mar 2010 15:36:51 +0000 (15:36 +0000)]
gallivm: Use bitmasks for scalar masks.

We could use single 1 bit conditions for scalar masks, but a lot of code
expects masks. The compiler easily optimzes away masks
extensions/truncations so consistency is preferable.

We can revisit this when LLVM backends have more support for vector
conditions.

14 years agogallivm: Handle scalar types in lp_build_*_type.
José Fonseca [Thu, 11 Mar 2010 15:33:40 +0000 (15:33 +0000)]
gallivm: Handle scalar types in lp_build_*_type.

14 years agomesa/es: Validate the state in st_DrawTex.
Chia-I Wu [Thu, 11 Mar 2010 10:13:18 +0000 (18:13 +0800)]
mesa/es: Validate the state in st_DrawTex.

Without the validation, the function might draw with outdated textures.

14 years agomesa/es: Fix GL_OES_draw_texture support.
Chia-I Wu [Thu, 11 Mar 2010 10:07:07 +0000 (18:07 +0800)]
mesa/es: Fix GL_OES_draw_texture support.

st_DrawTex calls util_draw_vertex_buffer.  Since
ac4abaecd5f52e416c89bfe19b34ed7f4e014b21, the caller is expected to set
vertex elements before calling.

14 years agoSquashed commit of gallium-context-transfers:
Keith Whitwell [Thu, 11 Mar 2010 15:23:16 +0000 (15:23 +0000)]
Squashed commit of gallium-context-transfers:

commit 7a2ee04629681e59ea147b440856c4f9a33ae9f8
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Mar 11 14:19:17 2010 +0000

    nv: convert to context transfers

commit 188a3f5331c8e5966729fd59d02975afb7324adc
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Mar 11 14:11:10 2010 +0000

    nouveau: remove unused variable

commit 5c8e880ab4dc020358c08728b8adb1637d2dc5bc
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Mar 11 12:31:21 2010 +0000

    mesa/st: fix compilation after merge

commit c552595333f860c2a4807e195596acdf5d6a5ef8
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Mar 11 12:31:06 2010 +0000

    util: fix compilation after merge

commit e80836878a3617b0e350d2a8f92311832a1476cb
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Mar 11 12:30:47 2010 +0000

    r300g: fix compilation after merge

commit 0e4883e9511b9db4e75a4dbc78d7bb970badc15d
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Mar 11 12:18:45 2010 +0000

    i965g: fix incorrect merge

commit 17d74133d8168eebf93bf1390de79930fc8da231
Merge: cb81c79 aa311ae
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Mar 11 12:08:32 2010 +0000

    Merge commit 'origin/master' into gallium-context-transfers

    Conflicts:
     src/gallium/drivers/i965/brw_screen_texture.c
     src/gallium/drivers/r300/r300_screen.c
     src/gallium/drivers/softpipe/sp_texture.c
     src/gallium/drivers/svga/svga_screen_texture.c
     src/gallium/state_trackers/egl/x11/native_ximage.c

commit cb81c79098bc3a92a4d2a3dcc0edc972dfb407be
Author: Keith Whitwell <keithw@vmware.com>
Date:   Tue Mar 2 16:04:01 2010 +0000

    egl/x11: hack for context transfers

    There is a better approach to this in the winsys-handle branch, but
    for now avoid using transfers at all by always allocating our own
    backing store directly.

commit f44a24e1d4ad7563f3eedd6b3a5688f53a36265c
Author: Keith Whitwell <keithw@vmware.com>
Date:   Tue Mar 2 16:03:16 2010 +0000

    llvmpipe: context transfers

commit 4d7475ef8104b3b478c7c6ce77cd3506c57e25d1
Author: Keith Whitwell <keithw@vmware.com>
Date:   Tue Mar 2 16:02:50 2010 +0000

    llvmpipe: disable testprogs build

    Not working.

commit a9bf98c4d36bd92a76f81e83747eb9b8f0a0515f
Merge: ee0f97e 0c616da
Author: Keith Whitwell <keithw@vmware.com>
Date:   Tue Mar 2 15:28:25 2010 +0000

    Merge commit 'origin/master' into gallium-context-transfers

    Conflicts:
     src/mesa/state_tracker/st_cb_accum.c
     src/mesa/state_tracker/st_cb_bitmap.c

commit ee0f97e8d9fd5ef57211a8e1268f505c9829e246
Merge: a7f078e 828f545
Author: Keith Whitwell <keithw@vmware.com>
Date:   Fri Feb 19 13:00:29 2010 +0000

    Merge commit 'origin/master' into gallium-context-transfers

    Conflicts:
     src/gallium/auxiliary/util/u_debug.h
     src/gallium/drivers/i915/i915_context.h
     src/gallium/drivers/llvmpipe/lp_flush.c
     src/gallium/drivers/nv30/nv30_screen.h
     src/gallium/drivers/nv40/nv40_context.h
     src/gallium/drivers/nv40/nv40_screen.h
     src/gallium/drivers/nv50/nv50_context.h
     src/gallium/drivers/r300/r300_screen.c
     src/gallium/drivers/r300/r300_winsys.h
     src/gallium/drivers/softpipe/sp_context.c
     src/gallium/drivers/trace/tr_context.c
     src/gallium/state_trackers/dri/dri_context.c
     src/gallium/state_trackers/egl/common/egl_g3d.c
     src/gallium/state_trackers/python/st_device.c
     src/gallium/winsys/drm/radeon/core/radeon_drm.c

commit a7f078e16d851b53ef316066dcced46eb39ebe24
Author: Keith Whitwell <keithw@vmware.com>
Date:   Fri Feb 5 14:16:11 2010 +0000

    gallium: move texture transfers to pipe_context

commit 7b2ffc2019d72e833afea7eebf3e80121187375d
Merge: 51e190e c036d13
Author: Keith Whitwell <keithw@vmware.com>
Date:   Fri Feb 5 09:55:02 2010 +0000

    Merge commit 'origin/master' into gallium-screen-context

    Conflicts:
     src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c

    This branch has got a pretty tortured history now, I expect
    a squash merge will be appropriate when it is done.

commit 51e190e95acf120f72768fafb29e9721e358df1b
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 17:58:02 2010 +0000

    gallium: fix some build issues

commit f524bdaa723fb181637ad30c6ad708aeedabe25b
Merge: f906212 3aba0a2
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 17:51:32 2010 +0000

    Merge commit 'origin/master' into gallium-screen-context

commit f9062126883199eabf045714c717cd35f4b7b313
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 17:17:12 2010 +0000

    gallium/docs: small description of screen::create_context

commit efcb37bd3d5ed37f06c6105bd2d750b374ec0927
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 16:42:42 2010 +0000

    drm/radeon: more dead create_context wrapper removal

commit 6badc0dd9e06cf2ec936940bcf12b9ef5324b301
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 16:42:30 2010 +0000

    drm/i965: more dead create_context wrapper removal

commit cf04ebd5a54b18b2d894cfdab2b0f2fd55626ffc
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 16:42:05 2010 +0000

    st/python: more dead create_context wrapper removal

commit 444f114c3516abf71c430e6e9d0d2ae3b80679d3
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 16:37:58 2010 +0000

    idenity: wrapped context creation

commit 5a6d09cb9e468d1ee6c8d54b887618819d8d94f2
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 16:28:47 2010 +0000

    ws/gdi: remove dead context_create wrapper

commit 132b55f4bec39386ac625f09aaa11f609664024c
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 16:27:52 2010 +0000

    ws/gdi: remove dead context_create wrapper

commit 56d2d21a0cdcb197a364049d354c2f15a4fc026a
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 16:25:38 2010 +0000

    st/xorg: use screen::context_create

commit 838c5cfe56b2af6c644909bed3c5e7cdd64c336a
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 16:23:20 2010 +0000

    glx/xlib: simplify creation of trace-wrapped contexts

    Trace screen knows how to properly wrap context creation in the
    wrapped screen, so nothing special to do here.

commit c99404c03ebaec4175f08a2f363e43c9085f2635
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 16:18:24 2010 +0000

    st/python: no need to special case context creation for trace

commit 193a527a682b6877bb1faecd8092df4dfd055a18
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 16:15:30 2010 +0000

    drm/radeon: remove dead create_context declaration

commit bb984eecc25cf23bc77e1c818b81165ba1a07c9a
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 16:14:58 2010 +0000

    nv/drm: remove dead create_context ref

commit e809313a44287dc4e16c28e9e74ef3b2b5271aa1
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 16:12:51 2010 +0000

    st/egl: remove a layer of wrappers around screen::create_context

commit 39caa6672a04122f185c22e17aab86d1c40938bf
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 16:05:28 2010 +0000

    r300g: fill in screen::context_create

commit 407f12556d16ba0656774d8a1d9ebda22f82f473
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 16:04:04 2010 +0000

    cell: adapt for screen::create_context, untested

commit d02b0c6ce321a04c76fdabb09e0e4380ce1c1376
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 15:50:24 2010 +0000

    drm/nv: adapt for screen::create_context

    All contexts now created directly through the screen, so remove
    equivalent code here.

    Remove apparently un-needed array of contexts in the winsys.

commit 53eec5b1349aa1b6892a75a7bff7e7530957aeae
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 15:50:08 2010 +0000

    stw: adapt for screen::create_context, untested

commit c6a64de3eb381bc9a88e9fbdecbf87d77925aaf5
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 15:49:20 2010 +0000

    trace: expose the wrapped context's priv data

    If we are going to keep this priv idea, really want an accessor
    function for it so that trace and other drivers can wrap that.

commit 75d6104e11d86ec2b0749627ed58e35f856ee6eb
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 15:47:55 2010 +0000

    nv30: adapt to screen::context_create

commit 12f5deb6ed9723e9b5d34577052b8365813ca14e
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 15:44:47 2010 +0000

    nv40: adapt to screen::context_create

commit 14baccaa3b6bbb3b91056126f6521828e786dc62
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 15:35:27 2010 +0000

    nv50: adapt to screen::create_context

    Not build tested.  Need to figure out how to build nouveau.

commit a0e94505ccd2d7f3e604465a2ac302f1286b73b6
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 15:22:27 2010 +0000

    llvmpipe: update for screen::create_context, untested

commit 0eae17107c950346030e4f7e0ec232f868d3893d
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 15:16:57 2010 +0000

    xlib/llvmpipe: remove dead winsys context creation path

commit 2f69f9ffaa7e2a01d2483277246ed13051ae4ca3
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 14:58:27 2010 +0000

    gallium: convert most code to use screen::create_context

    I wish I could build all of gallium at once to find breakages.

commit d7b57f4061b82322cbcae176125913d9f0dea6c1
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 12:46:21 2010 +0000

    glx: permit building with older protocol headers

    I'd like to be able to build mesa on current distro releases without
    having to upgrade from the standard dri2proto and glproto headers.  With
    this change I'm able to build on ancient releases such as Ubuntu 9-10...

    In general, it would be nice to be able to build-test mesa to check for
    unintended breakages without having to follow the external dependencies
    of every group working on the codebase.

commit 57adedd6fb06c98572ed8d4aef19203df4c4eea2
Merge: da71847 e1906ae
Author: Keith Whitwell <keithw@vmware.com>
Date:   Thu Feb 4 11:38:15 2010 +0000

    Merge commit 'origin/master' into gallium-screen-context

    Conflicts:
     src/gallium/drivers/softpipe/sp_video_context.h
     src/gallium/drivers/trace/tr_context.c
     src/gallium/state_trackers/wgl/shared/stw_context.c
     src/gallium/winsys/gdi/gdi_softpipe_winsys.c

commit da71847ea6414d7e352c6094f8963bb4eda344dc
Author: José Fonseca <jfonseca@vmware.com>
Date:   Sat May 2 08:57:39 2009 +0100

    wgl: Use pipe_screen::context_create.

commit 2595a188f93fd903600ef5d8517737ee0592035d
Author: José Fonseca <jfonseca@vmware.com>
Date:   Sat May 2 08:56:47 2009 +0100

    trace: Implement pipe_screen::context_create.

commit f3640e4ae37a5260cbfba999d079f827de0a313a
Author: José Fonseca <jfonseca@vmware.com>
Date:   Sat May 2 08:56:17 2009 +0100

    softpipe: Implement pipe_screen::context_create.

commit 347266bddc8bd39c711bacb2193793759d0f3696
Author: José Fonseca <jfonseca@vmware.com>
Date:   Sat May 2 08:55:31 2009 +0100

    gallium: New pipe_screen::context_create callback.

14 years agosoftpipe: Dummy fence functions.
José Fonseca [Thu, 11 Mar 2010 11:43:04 +0000 (11:43 +0000)]
softpipe: Dummy fence functions.

14 years agost/dri: move extension initilization to st/mesa completely
Marek Olšák [Sat, 6 Mar 2010 16:36:44 +0000 (17:36 +0100)]
st/dri: move extension initilization to st/mesa completely

Extensions were enabled in both st/mesa and st/dri, with st/dri completely
overriding the decisions of st/mesa and exposing even the extensions claimed
to be unsupported by a pipe driver.

This commit moves the differences between the two to st/mesa and removes
the responsibilty of advertising extensions from st/dri.

14 years agoMerge remote branch 'origin/7.8'
Michel Dänzer [Thu, 11 Mar 2010 11:14:05 +0000 (12:14 +0100)]
Merge remote branch 'origin/7.8'

14 years agowinsys/xlib: Fix memory leak.
Vinson Lee [Thu, 11 Mar 2010 08:18:09 +0000 (00:18 -0800)]
winsys/xlib: Fix memory leak.

Memory for xm_dt was allocated twice.

14 years agoprogs/fpglsl: Fix GLSL compilation failures on Mac OS X.
Vinson Lee [Thu, 11 Mar 2010 08:10:26 +0000 (00:10 -0800)]
progs/fpglsl: Fix GLSL compilation failures on Mac OS X.

14 years agost/mesa: always advertise texture_rectangle
Marek Olšák [Sat, 6 Mar 2010 17:09:16 +0000 (18:09 +0100)]
st/mesa: always advertise texture_rectangle

14 years agogallivm: overhaul of texture sampling code
Brian Paul [Thu, 11 Mar 2010 01:07:52 +0000 (18:07 -0700)]
gallivm: overhaul of texture sampling code

The new lp_build_sample_general() function will handle all sampling
modes for all texture types.  Still incomplete, but a few additional
sampling modes are now supported.

1D textures should work and most of the code for 3D textures is in place.
No support for cube maps yet.  No support for different min/mag filters.

14 years agogallivm: handle scalar floats in lp_build_floor() and lp_build_iround()
Brian Paul [Thu, 11 Mar 2010 01:07:13 +0000 (18:07 -0700)]
gallivm: handle scalar floats in lp_build_floor() and lp_build_iround()

14 years agogallivm: constant building for scalar zero
Brian Paul [Thu, 11 Mar 2010 01:06:02 +0000 (18:06 -0700)]
gallivm: constant building for scalar zero

14 years agogallivm: implement bilinear sampling with nearest mipmapping
Brian Paul [Wed, 10 Mar 2010 22:38:17 +0000 (15:38 -0700)]
gallivm: implement bilinear sampling with nearest mipmapping

Time to start consolidating some code...

14 years agogallivm: remove debug code. nearest minification works now.
Brian Paul [Wed, 10 Mar 2010 22:12:19 +0000 (15:12 -0700)]
gallivm: remove debug code. nearest minification works now.

14 years agollvmpipe: fix loop over mipmap levels
Brian Paul [Wed, 10 Mar 2010 22:11:49 +0000 (15:11 -0700)]
llvmpipe: fix loop over mipmap levels

14 years agost/xorg: Include cursorstr.h
Jakob Bornecrantz [Sat, 6 Feb 2010 16:58:32 +0000 (16:58 +0000)]
st/xorg: Include cursorstr.h

14 years agodri/nouveau: Just reemit the BO state on pushbuf flush.
Francisco Jerez [Wed, 10 Mar 2010 22:51:06 +0000 (23:51 +0100)]
dri/nouveau: Just reemit the BO state on pushbuf flush.

Reemitting dirty states on flush causes problems if the GL context
isn't fully consistent when we get to it. It didn't serve any specific
purpose, so, use nouveau_bo_state_emit instead.

14 years agoi965: Use the PLN instruction when possible in interpolation.
Eric Anholt [Wed, 10 Mar 2010 22:46:27 +0000 (14:46 -0800)]
i965: Use the PLN instruction when possible in interpolation.

Saves an instruction in PINTERP, LINTERP, and PIXEL_W from
brw_wm_glsl.c For non-GLSL it isn't used yet because the deltas have
to be laid out differently.

14 years agoi965: Set up the execution size before relying on it.
Eric Anholt [Wed, 10 Mar 2010 21:51:24 +0000 (13:51 -0800)]
i965: Set up the execution size before relying on it.

Fixes hangs with texturing in the non-GLSL path since
f6d210c284751ac50a8d6358de7e75a1ff1e4ac7

14 years agowindows: fix compilation errors and warnings
Karl Schultz [Wed, 10 Mar 2010 22:58:10 +0000 (15:58 -0700)]
windows: fix compilation errors and warnings

14 years agogallivm: simplify conditional branching
Jose Fonseca [Wed, 10 Mar 2010 22:22:30 +0000 (17:22 -0500)]
gallivm: simplify conditional branching

Instead of testing each component individually, we can test the entire
vector at once.

14 years agogallivm: properly test the if condition and branch to the proper label
Zack Rusin [Wed, 10 Mar 2010 21:36:20 +0000 (16:36 -0500)]
gallivm: properly test the if condition and branch to the proper label

makes loops work

14 years agogallivm: implement loops
Zack Rusin [Tue, 9 Mar 2010 20:09:15 +0000 (15:09 -0500)]
gallivm: implement loops

14 years agowindows: Quiet warning by not defining YY_NO_UNISTD_H.
Karl Schultz [Wed, 10 Mar 2010 21:27:34 +0000 (14:27 -0700)]
windows: Quiet warning by not defining YY_NO_UNISTD_H.

14 years agoprogs/trivial: use -c option to use glCopyPixels()
Brian Paul [Wed, 10 Mar 2010 21:35:57 +0000 (14:35 -0700)]
progs/trivial: use -c option to use glCopyPixels()

Otherwise we use glRead/DrawPixels to copy the off-screen FBO image
into the window.

Looks like NVIDIA's broken when using -c (the image is upside down),
but OK with -c -t.

14 years agoprogs/trivial: make clear-fbo-scissor.c work with other GL drivers
Brian Paul [Wed, 10 Mar 2010 21:32:56 +0000 (14:32 -0700)]
progs/trivial: make clear-fbo-scissor.c work with other GL drivers

NVIDIA's driver requires that the texture that we're going to render into
be complete.  Need to set min/mag filters to non-mipmap modes.

Plus added other error/debug checks.

14 years agoradeon: fallback to sw ReadPixels if color logicop is enabled
Maciej Cencora [Wed, 10 Mar 2010 21:31:53 +0000 (22:31 +0100)]
radeon: fallback to sw ReadPixels if color logicop is enabled

Fixes glean/logicOp (regressed after introducing hw accelerated support for ReadPixels)

14 years agor300: enable depth test only if depth buffer is available
Maciej Cencora [Wed, 10 Mar 2010 21:28:53 +0000 (22:28 +0100)]
r300: enable depth test only if depth buffer is available

Fixes #23532 and piglit/fbo-nodepth-test piglit/fbo-nostencil-test

14 years agoradeon: fix glCopyTex(Sub)Image if user FBO is bound
Maciej Cencora [Wed, 10 Mar 2010 19:53:21 +0000 (20:53 +0100)]
radeon: fix glCopyTex(Sub)Image if user FBO is bound

Fixes piglit/fbo-blit and wine d3d9 unit test.

14 years agofpglsl: a few more useful glsl tests
Zack Rusin [Wed, 10 Mar 2010 21:31:18 +0000 (16:31 -0500)]
fpglsl: a few more useful glsl tests

14 years agowindows: Quiet warning by not defining YY_NO_UNISTD_H.
Karl Schultz [Wed, 10 Mar 2010 21:27:34 +0000 (14:27 -0700)]
windows: Quiet warning by not defining YY_NO_UNISTD_H.

14 years agollvmpipe: Finally found a way to do vector comparisons without using intrinsics.
José Fonseca [Wed, 10 Mar 2010 20:36:42 +0000 (20:36 +0000)]
llvmpipe: Finally found a way to do vector comparisons without using intrinsics.

Only works well with LLVM >= 2.7

14 years agofpglsl: set an integer uniform required by the loop example
Zack Rusin [Wed, 10 Mar 2010 20:42:26 +0000 (15:42 -0500)]
fpglsl: set an integer uniform required by the loop example

14 years agofpglsl: add some for and while loops
Zack Rusin [Wed, 10 Mar 2010 20:37:18 +0000 (15:37 -0500)]
fpglsl: add some for and while loops

14 years agosoftpipe: fix memcpy params to avoid static analysis warnings
Brian Paul [Wed, 10 Mar 2010 20:09:00 +0000 (13:09 -0700)]
softpipe: fix memcpy params to avoid static analysis warnings

See fd.o bug 26970.  Also added sanity check assertions.

14 years agoprogs/trivial: add -t (RTT) option for clear-fbo-scissor.c
Brian Paul [Wed, 10 Mar 2010 19:19:26 +0000 (12:19 -0700)]
progs/trivial: add -t (RTT) option for clear-fbo-scissor.c

14 years agoi965: Add support for the CMP opcode in the GLSL path.
Eric Anholt [Wed, 10 Mar 2010 19:00:40 +0000 (11:00 -0800)]
i965: Add support for the CMP opcode in the GLSL path.

This would be triggered by use of sqrt() along with control flow.
Fixes piglit-fs-sqrt-branch and a bug in Yo Frankie!.

14 years agoi965: Print the opcode name for unrecognized opcodes in the GLSL path.
Eric Anholt [Wed, 10 Mar 2010 18:51:13 +0000 (10:51 -0800)]
i965: Print the opcode name for unrecognized opcodes in the GLSL path.

14 years agoprogs/trivial: added clear-fbo-scissor.c to test scissored clear of FBO
Brian Paul [Wed, 10 Mar 2010 18:51:44 +0000 (11:51 -0700)]
progs/trivial: added clear-fbo-scissor.c to test scissored clear of FBO

14 years agoi965: Fix the response len of masked sampler messages for 8-wide dispatch.
Eric Anholt [Wed, 10 Mar 2010 18:38:20 +0000 (10:38 -0800)]
i965: Fix the response len of masked sampler messages for 8-wide dispatch.

The bad response length would hang the GPU with a masked sample in a
shader using control flow.  For 8-wide, the response length is always
4, and masked slots are just not written to.  brw_wm_glsl.c already
allocates registers in the right locations.

Fixes piglit glsl-fs-bug25902 (fd.o bug #25902).

14 years agoi965: Print the offset for IFF in disasm
Eric Anholt [Wed, 10 Mar 2010 17:31:49 +0000 (09:31 -0800)]
i965: Print the offset for IFF in disasm

14 years agoRevert "scons: Refuse to use LLVM 2.7 for now."
José Fonseca [Wed, 10 Mar 2010 18:04:28 +0000 (18:04 +0000)]
Revert "scons: Refuse to use LLVM 2.7 for now."

This reverts commit 44703217f73095c4946e06057e399e447b252576.

http://www.llvm.org/bugs/show_bug.cgi?id=6429 has been fixed now. Things
appear to be working reasonably so far.

14 years agoprogs/tests: add additional FBO->window test paths (disabled)
Brian Paul [Wed, 10 Mar 2010 17:59:02 +0000 (10:59 -0700)]
progs/tests: add additional FBO->window test paths (disabled)

Normally use glReadPixels + glDrawPixels.  Add debug/test paths for
glCopyPixels and glBlitFramebuffer.

14 years agomesa: raise an error when trying to bind non-existant texture to FBO
Brian Paul [Wed, 10 Mar 2010 17:54:24 +0000 (10:54 -0700)]
mesa: raise an error when trying to bind non-existant texture to FBO

If the user calls glRenderBufferTexture(texture=N) but texture N
doesn't name an existing texture, raise GL_INVALID_ENUM.

Plus, add a comment about some questionable error checking code in
framebuffer_texture().  Ian?

14 years agomesa: added new function comments
Brian Paul [Wed, 10 Mar 2010 17:53:21 +0000 (10:53 -0700)]
mesa: added new function comments

14 years agost/mesa: set strb->format field in st_render_texture()
Brian Paul [Wed, 10 Mar 2010 17:50:17 +0000 (10:50 -0700)]
st/mesa: set strb->format field in st_render_texture()

This fixes a problem in glReadPixels when reading from an FBO's texture
attachment.  We have a better chance at hitting a fast path for
glReadPixels now.

14 years agost/mesa: add some comments in glReadPixels code
Brian Paul [Wed, 10 Mar 2010 17:49:18 +0000 (10:49 -0700)]
st/mesa: add some comments in glReadPixels code

14 years agost/mesa: consolidate duplicated texture allocation code
Brian Paul [Wed, 10 Mar 2010 17:48:10 +0000 (10:48 -0700)]
st/mesa: consolidate duplicated texture allocation code

14 years agoMerge branch '7.8'
Brian Paul [Wed, 10 Mar 2010 17:44:12 +0000 (10:44 -0700)]
Merge branch '7.8'

14 years agost/mesa: fix incorrect glCopyPixels between window/FBO
Brian Paul [Wed, 10 Mar 2010 17:42:22 +0000 (10:42 -0700)]
st/mesa: fix incorrect glCopyPixels between window/FBO

There was a DrawBuffer/ReadBuffer typo and we were neglecting to invert
the texture coords when copying from a window to an FBO.

Plus, add some surface dump/debug code (disabled).

(cherry picked from commit 34f02071618624263eba839b5aeb930d0e794078)

14 years agost/mesa: fix incorrect glDrawPixels into FBO
Brian Paul [Wed, 10 Mar 2010 17:41:22 +0000 (10:41 -0700)]
st/mesa: fix incorrect glDrawPixels into FBO

We weren't inverting the textured quad when drawing into an fbo.

(cherry picked from commit 8d3f629a13afb0d6acafc7a007972fdc5efe6847)

14 years agoMerge branch '7.8'
Michel Dänzer [Wed, 10 Mar 2010 17:33:17 +0000 (18:33 +0100)]
Merge branch '7.8'

14 years agost/xorg: Work around cursor reference counting bugs in older X servers.
Michel Dänzer [Wed, 10 Mar 2010 17:26:25 +0000 (18:26 +0100)]
st/xorg: Work around cursor reference counting bugs in older X servers.

Could result in use of freed memory and consequently random crashes, e.g. on
screen resize.
(cherry picked from commit 21c91b410a2a2cbf8eb677e59e3322f86320f2b0)

Conflicts:

src/gallium/state_trackers/xorg/xorg_tracker.h

14 years agor200: add additional blit formats
Alex Deucher [Wed, 10 Mar 2010 09:31:56 +0000 (04:31 -0500)]
r200: add additional blit formats

14 years agor100: add additional blit formats
Alex Deucher [Wed, 10 Mar 2010 09:19:42 +0000 (04:19 -0500)]
r100: add additional blit formats

14 years agoradeon/r200/r600: enable HW accelerated gl(Read/Copy/Draw)Pixels
Alex Deucher [Wed, 10 Mar 2010 00:44:23 +0000 (19:44 -0500)]
radeon/r200/r600: enable HW accelerated gl(Read/Copy/Draw)Pixels

14 years agoglapi: fix bug with tls and relocs
George Sapountzis [Tue, 9 Mar 2010 22:43:01 +0000 (00:43 +0200)]
glapi: fix bug with tls and relocs

add_dispatch (driver) and maybe get_proc_address (client) may be called before
set_dispatch is called, which results in generate_entrypoint using an unreloced
function template.

14 years agoglapi: these two should be ok for add_dispatch ...
George Sapountzis [Mon, 8 Mar 2010 01:10:30 +0000 (03:10 +0200)]
glapi: these two should be ok for add_dispatch ...

- a function cannot be both static and extension, right ?

- we should be setting the offset only if not already set, right ?

14 years agoglapi: comments for _glapi_add_dispatch
George Sapountzis [Mon, 8 Mar 2010 00:53:57 +0000 (02:53 +0200)]
glapi: comments for _glapi_add_dispatch

14 years agoglapi: minor cosmetic for _glapi_add_dispatch
George Sapountzis [Sun, 7 Mar 2010 23:58:59 +0000 (01:58 +0200)]
glapi: minor cosmetic for _glapi_add_dispatch

14 years agoglapi: add function set_entry_info
George Sapountzis [Sun, 7 Mar 2010 23:55:10 +0000 (01:55 +0200)]
glapi: add function set_entry_info

14 years agoglapi: parameter checking, failure paths, ... for add_function_name
George Sapountzis [Sun, 7 Mar 2010 23:40:14 +0000 (01:40 +0200)]
glapi: parameter checking, failure paths, ... for add_function_name

14 years agoglapi: cosmetic for _glapi_add_dispatch
George Sapountzis [Sun, 7 Mar 2010 23:26:01 +0000 (01:26 +0200)]
glapi: cosmetic for _glapi_add_dispatch

- static vs. extension
- indent
- s/new_offset/static_offset/
- ...

14 years agoglapi: use get_extension_proc in _glapi_add_dispatch
George Sapountzis [Sun, 7 Mar 2010 23:18:31 +0000 (01:18 +0200)]
glapi: use get_extension_proc in _glapi_add_dispatch

14 years agoglapi: cosmetic for functions for static table
George Sapountzis [Sat, 6 Mar 2010 19:19:45 +0000 (21:19 +0200)]
glapi: cosmetic for functions for static table

make similar to functions for extensions table

14 years agoglapi: add function to find extension by name
George Sapountzis [Sun, 7 Mar 2010 21:04:52 +0000 (23:04 +0200)]
glapi: add function to find extension by name

14 years agoglapi: functions for extensions table similar to static table
George Sapountzis [Sat, 6 Mar 2010 19:57:47 +0000 (21:57 +0200)]
glapi: functions for extensions table similar to static table

14 years agocell: handle NULL cso vertex_elements state object on bind
Roland Scheidegger [Wed, 10 Mar 2010 15:53:07 +0000 (16:53 +0100)]
cell: handle NULL cso vertex_elements state object on bind

drivers need to handle NULL cso vertex elements (and others) objects.
It is possible the cso code saves/restores NULL objects (if no normal
cso object was bound before this was invoked).
This led to segfaults (for example demos/cubemap) for apps which were using
things like creating mipmaps before drawing anything.

14 years agoi915g: Prevent NULL dereference.
Chia-I Wu [Wed, 10 Mar 2010 14:58:51 +0000 (22:58 +0800)]
i915g: Prevent NULL dereference.

bind_vertex_elements_state may be called with NULL velems.  Do nothing
if that is the case.