Mesa (master): Complete ARGB8888 naming convention format renames missed
Module: Mesa Branch: master Commit: e0897009f8fe8100204038e37f966300383a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e0897009f8fe8100204038e37f966300383a Author: Scott Moreau ore...@gmail.com Date: Tue Jan 17 10:36:12 2012 -0500 Complete ARGB naming convention format renames missed --- .../state_trackers/egl/wayland/native_shm.c|7 +++ 1 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/gallium/state_trackers/egl/wayland/native_shm.c b/src/gallium/state_trackers/egl/wayland/native_shm.c index b76e5db..7d83e78 100644 --- a/src/gallium/state_trackers/egl/wayland/native_shm.c +++ b/src/gallium/state_trackers/egl/wayland/native_shm.c @@ -94,11 +94,10 @@ wayland_create_shm_buffer(struct wayland_display *display, switch (surface-color_format) { case PIPE_FORMAT_B8G8R8A8_UNORM: - format = (surface-premultiplied_alpha) ? - WL_SHM_FORMAT_PREMULTIPLIED_ARGB32 : WL_SHM_FORMAT_ARGB32; + format = WL_SHM_FORMAT_ARGB; break; case PIPE_FORMAT_B8G8R8X8_UNORM: - format = WL_SHM_FORMAT_XRGB32; + format = WL_SHM_FORMAT_XRGB; break; default: return NULL; @@ -116,7 +115,7 @@ shm_handle_format(void *data, struct wl_shm *shm, uint32_t format) struct wayland_shm_display *shmdpy = data; switch (format) { - case WL_SHM_FORMAT_ARGB32: + case WL_SHM_FORMAT_ARGB: shmdpy-base.formats |= HAS_ARGB; break; case WL_SHM_FORMAT_XRGB: ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): intel: Fix warnings of undefined ffs().
Module: Mesa Branch: master Commit: ccf0d31a210baf062dcc0e0c19527cdbbade0ac9 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ccf0d31a210baf062dcc0e0c19527cdbbade0ac9 Author: Eric Anholt e...@anholt.net Date: Thu Jan 12 14:32:50 2012 -0800 intel: Fix warnings of undefined ffs(). For some reason these started showing up with the automake conversion. Reviewed-by: Kenneth Graunke kenn...@whitecape.org Reviewed-by: Ian Romanick ian.d.roman...@intel.com Reviewed-by: Chad Versace chad.vers...@linux.intel.com --- src/mesa/drivers/dri/intel/intel_context.h |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_context.h b/src/mesa/drivers/dri/intel/intel_context.h index 9fb2902..e673a4e 100644 --- a/src/mesa/drivers/dri/intel/intel_context.h +++ b/src/mesa/drivers/dri/intel/intel_context.h @@ -30,6 +30,7 @@ #include stdbool.h +#include string.h #include main/mtypes.h #include main/mm.h ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): intel: Drop the version override code now that we don' t have any left.
Module: Mesa Branch: master Commit: a14582d7e2ace05a3583cecff39f2bb4f41f7b79 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a14582d7e2ace05a3583cecff39f2bb4f41f7b79 Author: Eric Anholt e...@anholt.net Date: Thu Jan 12 14:53:10 2012 -0800 intel: Drop the version override code now that we don't have any left. Fixes a compiler warning. Reviewed-by: Kenneth Graunke kenn...@whitecape.org Reviewed-by: Ian Romanick ian.d.roman...@intel.com Reviewed-by: Chad Versace chad.vers...@linux.intel.com --- src/mesa/drivers/dri/intel/intel_extensions.c |8 1 files changed, 0 insertions(+), 8 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_extensions.c b/src/mesa/drivers/dri/intel/intel_extensions.c index 7aa040c..0ce452f 100644 --- a/src/mesa/drivers/dri/intel/intel_extensions.c +++ b/src/mesa/drivers/dri/intel/intel_extensions.c @@ -41,14 +41,6 @@ void intelInitExtensions(struct gl_context *ctx) { struct intel_context *intel = intel_context(ctx); - char *override = getenv(MESA_GL_VERSION_OVERRIDE); - int override_major, override_minor; - int override_version = 0; - - if (override - sscanf(override, %u.%u, override_major, override_minor) == 2) { - override_version = override_major * 10 + override_minor; - } ctx-Extensions.ARB_draw_elements_base_vertex = true; ctx-Extensions.ARB_explicit_attrib_location = true; ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: Convert the build to using automake.
Module: Mesa Branch: master Commit: e326480e4ebe8687948041c2dc5f5b7595559a2e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e326480e4ebe8687948041c2dc5f5b7595559a2e Author: Eric Anholt e...@anholt.net Date: Thu Jan 12 14:28:37 2012 -0800 i965: Convert the build to using automake. This does introduce a warning by the automake build system, that the missing-symbols test build is non-portable. That's true -- Mac OS X can't take something built as a loadable module and just link it as a library. Of course, we aren't building this on OS X at all, so it would be nice to be able to suppress it, but I haven't found a way. Still, the build is going to be much quieter than we have ever had before, so I think this is a fair tradeoff until we find a way to shut that warning up. v2: Put a link in /lib to avoid transition pains for people. Reviewed-by: Ian Romanick ian.d.roman...@intel.com (v1) Reviewed-by: Matt Turner matts...@gmail.com (v1) --- .gitignore |4 ++ configs/linux-dri |2 +- configure.ac | 13 + src/mesa/drivers/dri/i965/Android.mk |6 +- src/mesa/drivers/dri/i965/Makefile | 27 - src/mesa/drivers/dri/i965/Makefile.am | 81 src/mesa/drivers/dri/i965/Makefile.sources |8 ++-- 7 files changed, 106 insertions(+), 35 deletions(-) diff --git a/.gitignore b/.gitignore index a6243bf..a4394b6 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ *.dll *.exe *.ilk +*.lo *.o *.obj *.os @@ -19,9 +20,11 @@ *~ depend depend.bak +bin/ltmain.sh lib lib64 configure +configure.lineno autom4te.cache aclocal.m4 config.log @@ -30,5 +33,6 @@ cscope* .scon* config.py build +libtool manifest.txt .dir-locals.el diff --git a/configs/linux-dri b/configs/linux-dri index e63790e..dde6408 100644 --- a/configs/linux-dri +++ b/configs/linux-dri @@ -62,7 +62,7 @@ GALLIUM_WINSYS_DIRS = sw sw/xlib drm/vmware drm/intel svga/drm GALLIUM_TARGET_DIRS = dri-vmwgfx GALLIUM_STATE_TRACKERS_DIRS = egl dri -DRI_DIRS = i915 i965 nouveau r200 radeon swrast +DRI_DIRS = i915 nouveau r200 radeon swrast INTEL_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_intel) INTEL_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_intel) diff --git a/configure.ac b/configure.ac index 7c50e3c..1a120ec 100644 --- a/configure.ac +++ b/configure.ac @@ -18,6 +18,9 @@ AC_CONFIG_AUX_DIR([bin]) AC_CANONICAL_HOST AM_INIT_AUTOMAKE([foreign]) +LT_PREREQ([2.2]) +LT_INIT([disable-static]) + dnl Save user CFLAGS and CXXFLAGS so one can override the default ones USER_CFLAGS=$CFLAGS USER_CXXFLAGS=$CXXFLAGS @@ -1282,9 +1285,18 @@ AC_SUBST([DRI_LIB_DEPS]) case $DRI_DIRS in *i915*|*i965*) PKG_CHECK_MODULES([INTEL], [libdrm_intel = $LIBDRM_INTEL_REQUIRED]) + +case $DRI_DIRS in +*i965*) + HAVE_I965_DRI=yes; + ;; +esac + ;; esac +AM_CONDITIONAL(HAVE_I965_DRI, test x$HAVE_I965_DRI = xyes) + case $DRI_DIRS in *nouveau*) PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau = $LIBDRM_NOUVEAU_REQUIRED]) @@ -1924,6 +1936,7 @@ CXXFLAGS=$CXXFLAGS $USER_CXXFLAGS dnl Substitute the config AC_CONFIG_FILES([configs/autoconf + src/mesa/drivers/dri/i965/Makefile tests/Makefile tests/glx/Makefile]) diff --git a/src/mesa/drivers/dri/i965/Android.mk b/src/mesa/drivers/dri/i965/Android.mk index ec4a761..fbc6fc0 100644 --- a/src/mesa/drivers/dri/i965/Android.mk +++ b/src/mesa/drivers/dri/i965/Android.mk @@ -41,9 +41,9 @@ LOCAL_C_INCLUDES := \ $(DRM_TOP)/intel LOCAL_SRC_FILES := \ - $(i965_C_SOURCES) \ - $(i965_CXX_SOURCES) \ - $(i965_ASM_SOURCES) + $(i965_C_FILES) \ + $(i965_CXX_FILES) \ + $(i965_ASM_FILES) LOCAL_WHOLE_STATIC_LIBRARIES := \ $(MESA_DRI_WHOLE_STATIC_LIBRARIES) diff --git a/src/mesa/drivers/dri/i965/Makefile b/src/mesa/drivers/dri/i965/Makefile deleted file mode 100644 index 57af7a6..000 --- a/src/mesa/drivers/dri/i965/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -TOP = ../../../../.. -MESA_TOP := $(TOP) - -# Import variables i965_*. -include Makefile.sources - -include $(TOP)/configs/current - -LIBNAME = i965_dri.so - -include ../Makefile.defines - -C_SOURCES := \ - $(i965_C_SOURCES) \ - $(COMMON_SOURCES) - -CXX_SOURCES := $(i965_CXX_SOURCES) -ASM_SOURCES := $(i965_ASM_SOURCES) -DRIVER_DEFINES := $(addprefix -I, $(i965_INCLUDES)) - -INCLUDES += $(INTEL_CFLAGS) -DRI_LIB_DEPS += $(INTEL_LIBS) - -include ../Makefile.targets - -intel_decode.o: ../intel/intel_decode.c -intel_tex_layout.o: ../intel/intel_tex_layout.c diff --git a/src/mesa/drivers/dri/i965/Makefile.am b/src/mesa/drivers/dri/i965/Makefile.am new file mode 100644 index 000..5512381 --- /dev/null +++ b/src/mesa/drivers/dri/i965/Makefile.am @@ -0,0 +1,81 @@ + + +# Copyright © 2011 Intel Corporation +# +# Permission is hereby granted, free of charge, to
Demos (master): eglkms: Add gbm cflags and libs
Module: Demos Branch: master Commit: 0e97cc1d00f5bb5fcb198104f94d93b390b332cf URL: http://cgit.freedesktop.org/mesa/demos/commit/?id=0e97cc1d00f5bb5fcb198104f94d93b390b332cf Author: Kristian Høgsberg k...@bitplanet.net Date: Tue Jan 17 13:50:07 2012 -0500 eglkms: Add gbm cflags and libs --- src/egl/opengl/Makefile.am |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/egl/opengl/Makefile.am b/src/egl/opengl/Makefile.am index 6df114d..0c7228f 100644 --- a/src/egl/opengl/Makefile.am +++ b/src/egl/opengl/Makefile.am @@ -80,5 +80,5 @@ eglgears_x11_LDADD = ../eglut/libeglut_x11.la egltri_x11_LDADD = ../eglut/libeglut_x11.la eglkms_SOURCES = eglkms.c -eglkms_CFLAGS = $(AM_CFLAGS) $(DRM_CFLAGS) -eglkms_LDADD = $(AM_LDFLAGS) $(DRM_LIBS) +eglkms_CFLAGS = $(AM_CFLAGS) $(DRM_CFLAGS) $(GBM_CFLAGS) +eglkms_LDADD = $(AM_LDFLAGS) $(DRM_LIBS) $(GBM_LIBS) ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): r600g: rework IDIV/UDIV and implement MOD/UMOD (v2)
Module: Mesa Branch: master Commit: 4ba4853c0a613f771b44806cd5ce376838479802 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ba4853c0a613f771b44806cd5ce376838479802 Author: Vadim Girlin vadimgir...@gmail.com Date: Tue Jan 17 16:09:00 2012 +0400 r600g: rework IDIV/UDIV and implement MOD/UMOD (v2) Signed-off-by: Vadim Girlin vadimgir...@gmail.com Signed-off-by: Dave Airlie airl...@redhat.com --- src/gallium/drivers/r600/r600_asm.c|2 + src/gallium/drivers/r600/r600_shader.c | 724 ++-- 2 files changed, 593 insertions(+), 133 deletions(-) diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c index 23350e2..7c76bd5 100644 --- a/src/gallium/drivers/r600/r600_asm.c +++ b/src/gallium/drivers/r600/r600_asm.c @@ -191,6 +191,8 @@ static inline unsigned int r600_bytecode_get_num_operands(struct r600_bytecode * case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RNDNE: case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOT_INT: case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INTERP_LOAD_P0: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_INT: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_UINT: return 1; default: R600_ERR( Need instruction operand number for 0x%x.\n, alu-inst); diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index 9d15d02..16e662d 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -2019,224 +2019,682 @@ static int tgsi_pow(struct r600_shader_ctx *ctx) return tgsi_helper_tempx_replicate(ctx); } -static int tgsi_idiv(struct r600_shader_ctx *ctx) +static int tgsi_divmod(struct r600_shader_ctx *ctx, int mod, int signed_op) { struct tgsi_full_instruction *inst = ctx-parse.FullToken.FullInstruction; struct r600_bytecode_alu alu; int i, r; unsigned write_mask = inst-Dst[0].Register.WriteMask; - int last_inst = tgsi_last_instruction(write_mask); int tmp0 = ctx-temp_reg; int tmp1 = r600_get_temp(ctx); - int unsigned_op = (ctx-inst_info-tgsi_opcode == TGSI_OPCODE_UDIV); + int tmp2 = r600_get_temp(ctx); + + /* Unsigned path: +* +* we need to represent src1 as src2*q + r, where q - quotient, r - remainder +* +* 1. tmp0.x = rcp (src2) = 2^32/src2 + e, where e is rounding error +* 2. tmp0.z = lo (tmp0.x * src2) +* 3. tmp0.w = -tmp0.z +* 4. tmp0.y = hi (tmp0.x * src2) +* 5. tmp0.z = (tmp0.y == 0 ? tmp0.w : tmp0.z) = abs(lo(rcp*src2)) +* 6. tmp0.w = hi (tmp0.z * tmp0.x)= e, rounding error +* 7. tmp1.x = tmp0.x - tmp0.w +* 8. tmp1.y = tmp0.x + tmp0.w +* 9. tmp0.x = (tmp0.y == 0 ? tmp1.y : tmp1.x) +* 10. tmp0.z = hi(tmp0.x * src1) = q +* 11. tmp0.y = lo (tmp0.z * src2) = src2*q = src1 - r +* +* 12. tmp0.w = src1 - tmp0.y = r +* 13. tmp1.x = tmp0.w = src2 = r = src2 (uint comparison) +* 14. tmp1.y = src1 = tmp0.y = r = 0 (uint comparison) +* +* if DIV +* +* 15. tmp1.z = tmp0.z + 1= q + 1 +* 16. tmp1.w = tmp0.z - 1= q - 1 +* +* else MOD +* +* 15. tmp1.z = tmp0.w - src2 = r - src2 +* 16. tmp1.w = tmp0.w + src2 = r + src2 +* +* endif +* +* 17. tmp1.x = tmp1.x tmp1.y +* +* DIV: 18. tmp0.z = tmp1.x==0 ? tmp0.z : tmp1.z +* MOD: 18. tmp0.z = tmp1.x==0 ? tmp0.w : tmp1.z +* +* 19. tmp0.z = tmp1.y==0 ? tmp1.w : tmp0.z +* 20. dst = src2==0 ? MAX_UINT : tmp0.z +* +* Signed path: +* +* Same as unsigned, using abs values of the operands, +* and fixing the sign of the result in the end. +*/ - /* tmp0 = float(src0) */ for (i = 0; i 4; i++) { if (!(write_mask (1i))) continue; - memset(alu, 0, sizeof(struct r600_bytecode_alu)); + if (signed_op) { - if (unsigned_op) - alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_UINT_TO_FLT); - else - alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_INT_TO_FLT); + /* tmp2.x = -src0 */ + memset(alu, 0, sizeof(struct r600_bytecode_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SUB_INT); - alu.dst.sel = tmp0; - alu.dst.chan = i; - alu.dst.write = 1; + alu.dst.sel = tmp2; + alu.dst.chan = 0; + alu.dst.write = 1; -
Mesa (master): scons: Add Haiku build support
Module: Mesa Branch: master Commit: 64ae209d50e2d28f46a3f0c6880e40e94ba23569 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=64ae209d50e2d28f46a3f0c6880e40e94ba23569 Author: Alexander von Gluck IV kallis...@unixzen.com Date: Mon Jan 16 12:42:05 2012 + scons: Add Haiku build support Enables building stock Mesa under the Haiku operating system. --- common.py |2 +- scons/gallium.py |2 ++ src/SConscript |5 +++-- src/gallium/SConscript | 14 ++ src/glu/sgi/SConscript | 16 +++- 5 files changed, 27 insertions(+), 12 deletions(-) diff --git a/common.py b/common.py index 5578f72..2674f32 100644 --- a/common.py +++ b/common.py @@ -83,7 +83,7 @@ def AddOptions(opts): opts.Add(EnumOption('machine', 'use machine-specific assembly code', default_machine, allowed_values=('generic', 'ppc', 'x86', 'x86_64'))) opts.Add(EnumOption('platform', 'target platform', host_platform, - allowed_values=('linux', 'windows', 'darwin', 'cygwin', 'sunos', 'freebsd8'))) + allowed_values=('linux', 'windows', 'darwin', 'cygwin', 'sunos', 'freebsd8', 'haiku'))) opts.Add(BoolOption('embedded', 'embedded build', 'no')) opts.Add('toolchain', 'compiler toolchain', default_toolchain) opts.Add(BoolOption('gles', 'EXPERIMENTAL: enable OpenGL ES support', 'no')) diff --git a/scons/gallium.py b/scons/gallium.py index 221d184..5a0c6fe 100755 --- a/scons/gallium.py +++ b/scons/gallium.py @@ -289,6 +289,8 @@ def generate(env): cppdefines += ['_DEBUG'] if platform == 'windows': cppdefines += ['PIPE_SUBSYSTEM_WINDOWS_USER'] +if platform == 'haiku': +cppdefines += ['BEOS_THREADS'] if env['embedded']: cppdefines += ['PIPE_SUBSYSTEM_EMBEDDED'] env.Append(CPPDEFINES = cppdefines) diff --git a/src/SConscript b/src/SConscript index 0a30838..ba6be0b 100644 --- a/src/SConscript +++ b/src/SConscript @@ -22,10 +22,11 @@ SConscript('mesa/SConscript') SConscript('mapi/vgapi/SConscript') if not env['embedded']: -if env['platform'] not in ['windows', 'darwin']: +if env['platform'] not in ['windows', 'darwin', 'haiku']: SConscript('glx/SConscript') -if env['platform'] not in ['darwin']: +if env['platform'] not in ['darwin', 'haiku']: SConscript('egl/main/SConscript') +if env['platform'] not in ['darwin']: SConscript('glu/sgi/SConscript') if env['gles']: diff --git a/src/gallium/SConscript b/src/gallium/SConscript index 4f46506..8efd04c 100644 --- a/src/gallium/SConscript +++ b/src/gallium/SConscript @@ -10,16 +10,22 @@ SConscript('auxiliary/SConscript') # Drivers # +# These are common and work across all platforms SConscript([ 'drivers/galahad/SConscript', 'drivers/identity/SConscript', -'drivers/llvmpipe/SConscript', 'drivers/rbug/SConscript', 'drivers/softpipe/SConscript', -'drivers/svga/SConscript', 'drivers/trace/SConscript', ]) +# These drivers do not build on Haiku +if env['platform'] not in ['haiku']: +SConscript([ +'drivers/llvmpipe/SConscript', +'drivers/svga/SConscript', +]) + if not env['msvc']: # These drivers do not build on MSVC compilers SConscript([ @@ -53,7 +59,7 @@ SConscript('winsys/sw/null/SConscript') if not env['embedded']: SConscript('state_trackers/vega/SConscript') -if env['platform'] not in ['darwin']: +if env['platform'] not in ['darwin', 'haiku']: SConscript('state_trackers/egl/SConscript') if env['x11']: @@ -83,7 +89,7 @@ SConscript([ ]) if not env['embedded']: -if env['platform'] not in ['darwin']: +if env['platform'] not in ['darwin', 'haiku']: SConscript([ 'targets/egl-static/SConscript' ]) diff --git a/src/glu/sgi/SConscript b/src/glu/sgi/SConscript index 94c7426..97405d8 100644 --- a/src/glu/sgi/SConscript +++ b/src/glu/sgi/SConscript @@ -122,12 +122,18 @@ else: ]) target = 'glu' -glu = env.SharedLibrary( -target = target, -source = sources -) +if env['platform'] == 'haiku': +glu = env.StaticLibrary( +target = target, +source = sources +) +else: +glu = env.SharedLibrary( +target = target, +source = sources +) +env.Alias('glu', env.InstallSharedLibrary(glu, version=(1, 3, 0))) -env.Alias('glu', env.InstallSharedLibrary(glu, version=(1, 3, 0))) if env['platform'] == 'windows': glu = env.FindIxes(glu, 'LIBPREFIX', 'LIBSUFFIX') ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): r600g: fix USLT for r600-eg
Module: Mesa Branch: master Commit: 7383e754b70414b35c10c216034a8dc95f6f67b4 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7383e754b70414b35c10c216034a8dc95f6f67b4 Author: Vadim Girlin vadimgir...@gmail.com Date: Tue Jan 17 02:46:08 2012 +0400 r600g: fix USLT for r600-eg --- src/gallium/drivers/r600/r600_shader.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index 16e662d..95c6d1e 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -4631,7 +4631,7 @@ static struct r600_shader_tgsi_instruction r600_shader_tgsi_instruction[] = { {TGSI_OPCODE_USEQ, 0, V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETE_INT, tgsi_op2}, {TGSI_OPCODE_USGE, 0, V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE_UINT, tgsi_op2}, {TGSI_OPCODE_USHR, 0, V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LSHR_INT, tgsi_op2_trans}, - {TGSI_OPCODE_USLT, 0, V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT_INT, tgsi_op2_swap}, + {TGSI_OPCODE_USLT, 0, V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT_UINT, tgsi_op2_swap}, {TGSI_OPCODE_USNE, 0, V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETNE_INT, tgsi_op2_swap}, {TGSI_OPCODE_SWITCH,0, V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, {TGSI_OPCODE_CASE, 0, V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, @@ -4805,7 +4805,7 @@ static struct r600_shader_tgsi_instruction eg_shader_tgsi_instruction[] = { {TGSI_OPCODE_USEQ, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETE_INT, tgsi_op2}, {TGSI_OPCODE_USGE, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE_UINT, tgsi_op2}, {TGSI_OPCODE_USHR, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LSHR_INT, tgsi_op2}, - {TGSI_OPCODE_USLT, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT_INT, tgsi_op2_swap}, + {TGSI_OPCODE_USLT, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT_UINT, tgsi_op2_swap}, {TGSI_OPCODE_USNE, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETNE_INT, tgsi_op2}, {TGSI_OPCODE_SWITCH,0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, {TGSI_OPCODE_CASE, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): r600g: fix recip_uint on r600.
Module: Mesa Branch: master Commit: ba59a1a0d817566576e20e66d74f1917d958119e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ba59a1a0d817566576e20e66d74f1917d958119e Author: Dave Airlie airl...@redhat.com Date: Wed Jan 18 06:49:34 2012 +1000 r600g: fix recip_uint on r600. Signed-off-by: Dave Airlie airl...@redhat.com --- src/gallium/drivers/r600/r600_asm.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c index 7c76bd5..8234744 100644 --- a/src/gallium/drivers/r600/r600_asm.c +++ b/src/gallium/drivers/r600/r600_asm.c @@ -103,6 +103,7 @@ static inline unsigned int r600_bytecode_get_num_operands(struct r600_bytecode * case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE: case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_CLAMPED: case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_UINT: case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_CLAMPED: case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_IEEE: case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT: ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): r200: fix fog coordinate emit
Module: Mesa Branch: master Commit: afdd6f8c34705eae5048da03329750836bcecf44 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=afdd6f8c34705eae5048da03329750836bcecf44 Author: Alex Deucher alexander.deuc...@amd.com Date: Tue Jan 17 17:06:18 2012 -0500 r200: fix fog coordinate emit Noticed by dungeon on phoronix: http://phoronix.com/forums/showthread.php?65408-Radeon-R100-R200-Mesa-Driver-Sees-Attentionp=247018#post247018 Signed-off-by: Alex Deucher alexander.deuc...@amd.com Note: this is a candidate for the stable branches. --- src/mesa/drivers/dri/r200/r200_maos_arrays.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/mesa/drivers/dri/r200/r200_maos_arrays.c b/src/mesa/drivers/dri/r200/r200_maos_arrays.c index b622902..dee7303 100644 --- a/src/mesa/drivers/dri/r200/r200_maos_arrays.c +++ b/src/mesa/drivers/dri/r200/r200_maos_arrays.c @@ -83,7 +83,7 @@ static void r200_emit_vecfog(struct gl_context *ctx, struct radeon_aos *aos, count = 1; aos-stride = 0; } else { - radeonAllocDmaRegion(rmesa, aos-bo, aos-offset, size * 4, 32); + radeonAllocDmaRegion(rmesa, aos-bo, aos-offset, size * count * 4, 32); aos-stride = size; } ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): radeon: fix fog coordinate emit
Module: Mesa Branch: master Commit: e77c495d09105a1b6a13fd62d0d3585b019e1c66 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e77c495d09105a1b6a13fd62d0d3585b019e1c66 Author: Alex Deucher alexander.deuc...@amd.com Date: Tue Jan 17 17:14:19 2012 -0500 radeon: fix fog coordinate emit Noticed by dungeon on phoronix: http://phoronix.com/forums/showthread.php?65408-Radeon-R100-R200-Mesa-Driver-Sees-Attentionp=247018#post247018 Signed-off-by: Alex Deucher alexander.deuc...@amd.com Note: this is a candidate for the stable branches. --- src/mesa/drivers/dri/radeon/radeon_maos_arrays.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/mesa/drivers/dri/radeon/radeon_maos_arrays.c b/src/mesa/drivers/dri/radeon/radeon_maos_arrays.c index 94fe7e4..05aa2cb 100644 --- a/src/mesa/drivers/dri/radeon/radeon_maos_arrays.c +++ b/src/mesa/drivers/dri/radeon/radeon_maos_arrays.c @@ -66,7 +66,7 @@ static void emit_vecfog(struct gl_context *ctx, struct radeon_aos *aos, aos-stride = 0; } else { - radeonAllocDmaRegion(rmesa, aos-bo, aos-offset, size * 4, 32); + radeonAllocDmaRegion(rmesa, aos-bo, aos-offset, size * count * 4, 32); aos-stride = size; } ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): radeon: share common fog code between radeon and r200
Module: Mesa Branch: master Commit: 94556f359450acebe87d6c9b4f4fd8ccf78589d8 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=94556f359450acebe87d6c9b4f4fd8ccf78589d8 Author: Alex Deucher alexander.deuc...@amd.com Date: Tue Jan 17 18:09:25 2012 -0500 radeon: share common fog code between radeon and r200 Signed-off-by: Alex Deucher alexander.deuc...@amd.com --- src/mesa/drivers/dri/r200/Makefile |3 +- src/mesa/drivers/dri/r200/r200_context.c |3 +- src/mesa/drivers/dri/r200/r200_maos_arrays.c | 40 +-- src/mesa/drivers/dri/r200/r200_tcl.c | 84 --- src/mesa/drivers/dri/r200/r200_tcl.h |4 - src/mesa/drivers/dri/r200/radeon_fog.c |1 + src/mesa/drivers/dri/r200/radeon_fog.h |1 + src/mesa/drivers/dri/radeon/Makefile |3 +- src/mesa/drivers/dri/radeon/radeon_context.c |1 + src/mesa/drivers/dri/radeon/radeon_dma.c | 36 ++ src/mesa/drivers/dri/radeon/radeon_dma.h |2 + src/mesa/drivers/dri/radeon/radeon_fog.c | 125 ++ src/mesa/drivers/dri/radeon/radeon_fog.h | 44 src/mesa/drivers/dri/radeon/radeon_maos_arrays.c | 51 + src/mesa/drivers/dri/radeon/radeon_maos_verts.c |2 +- src/mesa/drivers/dri/radeon/radeon_tcl.c | 83 -- src/mesa/drivers/dri/radeon/radeon_tcl.h |3 - 17 files changed, 227 insertions(+), 259 deletions(-) diff --git a/src/mesa/drivers/dri/r200/Makefile b/src/mesa/drivers/dri/r200/Makefile index 3362d04..e53d64b 100644 --- a/src/mesa/drivers/dri/r200/Makefile +++ b/src/mesa/drivers/dri/r200/Makefile @@ -20,7 +20,8 @@ RADEON_COMMON_SOURCES = \ radeon_span.c \ radeon_texture.c \ radeon_tex_copy.c \ - radeon_tile.c + radeon_tile.c \ + radeon_fog.c DRIVER_SOURCES = r200_context.c \ r200_ioctl.c \ diff --git a/src/mesa/drivers/dri/r200/r200_context.c b/src/mesa/drivers/dri/r200/r200_context.c index d7a6489..244973e 100644 --- a/src/mesa/drivers/dri/r200/r200_context.c +++ b/src/mesa/drivers/dri/r200/r200_context.c @@ -60,6 +60,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include r200_vertprog.h #include radeon_queryobj.h #include r200_blit.h +#include radeon_fog.h #include radeon_span.h @@ -230,7 +231,7 @@ GLboolean r200CreateContext( gl_api api, rmesa-radeon.radeonScreen = screen; r200_init_vtbl(rmesa-radeon); /* init exp fog table data */ - r200InitStaticFogData(); + radeonInitStaticFogData(); /* Parse configuration files. * Do this here so that initialMaxAnisotropy is set before we create diff --git a/src/mesa/drivers/dri/r200/r200_maos_arrays.c b/src/mesa/drivers/dri/r200/r200_maos_arrays.c index dee7303..973dcaf 100644 --- a/src/mesa/drivers/dri/r200/r200_maos_arrays.c +++ b/src/mesa/drivers/dri/r200/r200_maos_arrays.c @@ -70,36 +70,6 @@ do { \ } while (0) #endif -static void r200_emit_vecfog(struct gl_context *ctx, struct radeon_aos *aos, -GLvoid *data, int stride, int count) -{ - radeonContextPtr rmesa = RADEON_CONTEXT(ctx); - GLfloat *out; - int i; - int size = 1; - - if (stride == 0) { - radeonAllocDmaRegion(rmesa, aos-bo, aos-offset, size * 4, 32); - count = 1; - aos-stride = 0; - } else { - radeonAllocDmaRegion(rmesa, aos-bo, aos-offset, size * count * 4, 32); - aos-stride = size; - } - - aos-components = size; - aos-count = count; - - radeon_bo_map(aos-bo, 1); - out = (GLfloat*)((char*)aos-bo-ptr + aos-offset); - for (i = 0; i count; i++) { - out[0] = r200ComputeFogBlendFactor( ctx, *(GLfloat *)data ); - out++; - data += stride; - } - radeon_bo_unmap(aos-bo); -} - /* Emit any changed arrays to new GART memory, re-emit a packet to * update the arrays. */ @@ -153,11 +123,11 @@ void r200EmitArrays( struct gl_context *ctx, GLubyte *vimap_rev ) VB-AttribPtr[attrib]-stride, count); else -r200_emit_vecfog( ctx, - (rmesa-radeon.tcl.aos[nr]), - (char *)VB-AttribPtr[attrib]-data, - VB-AttribPtr[attrib]-stride, - count); +rcommon_emit_vecfog( ctx, + (rmesa-radeon.tcl.aos[nr]), + (char *)VB-AttribPtr[attrib]-data, + VB-AttribPtr[attrib]-stride, + count); } vfmt0 |= R200_VTX_DISCRETE_FOG; goto after_emit; diff --git
Mesa (master): mesa: Add condition in glGetTexImage for zero size textures
Module: Mesa Branch: master Commit: f1a9a9bcd19dcbb8a0a4bd7299400cb418970f99 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f1a9a9bcd19dcbb8a0a4bd7299400cb418970f99 Author: Anuj Phogat anuj.pho...@gmail.com Date: Mon Jan 16 16:15:30 2012 -0800 mesa: Add condition in glGetTexImage for zero size textures TestMipMaps() function in src/OGLconform/textureNPOT.c calls glTexImage2D() with width = 0. Texture with zero size skips miptree allocation due to a condition in function _mesa_store_teximage3d(). While calling glGetTexImage() it results in assertion failure in intel_map_texture_image() due to null mt pointer. This patch fixes the issue by detecting the zero size texture early in glGetTexImage and glGetCompressedTexImage functions. In such a case function simply returns doing nothing. Verified that below mentioned bug is fixed by this patch. https://bugs.freedesktop.org/show_bug.cgi?id=42334 NOTE: This is a candidate for stable branches Signed-off-by: Anuj Phogat anuj.pho...@gmail.com Reviewed-by: Brian Paul bri...@vmware.com --- src/mesa/main/texgetimage.c |6 ++ src/mesa/main/teximage.h|9 - 2 files changed, 14 insertions(+), 1 deletions(-) diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c index f848aa8..8c85c1e 100644 --- a/src/mesa/main/texgetimage.c +++ b/src/mesa/main/texgetimage.c @@ -837,6 +837,9 @@ _mesa_GetnTexImageARB( GLenum target, GLint level, GLenum format, texObj = _mesa_get_current_tex_object(ctx, target); texImage = _mesa_select_tex_image(ctx, texObj, target, level); + if (_mesa_is_zero_size_texture(texImage)) + return; + if (MESA_VERBOSE (VERBOSE_API | VERBOSE_TEXTURE)) { _mesa_debug(ctx, glGetTexImage(tex %u) format = %s, w=%d, h=%d, dstFmt=0x%x, dstType=0x%x\n, @@ -970,6 +973,9 @@ _mesa_GetnCompressedTexImageARB(GLenum target, GLint level, GLsizei bufSize, texObj = _mesa_get_current_tex_object(ctx, target); texImage = _mesa_select_tex_image(ctx, texObj, target, level); + if (_mesa_is_zero_size_texture(texImage)) + return; + if (MESA_VERBOSE (VERBOSE_API | VERBOSE_TEXTURE)) { _mesa_debug(ctx, glGetCompressedTexImage(tex %u) format = %s, w=%d, h=%d\n, diff --git a/src/mesa/main/teximage.h b/src/mesa/main/teximage.h index 12af0e6..e2bdaca 100644 --- a/src/mesa/main/teximage.h +++ b/src/mesa/main/teximage.h @@ -44,7 +44,14 @@ _mesa_is_cube_face(GLenum target) target = GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB); } - +/** Is any of the dimensions of given texture equal to zero? */ +static inline GLboolean +_mesa_is_zero_size_texture(const struct gl_texture_image *texImage) +{ + return (texImage-Width == 0 || + texImage-Height == 0 || + texImage-Depth == 0); +} /** \name Internal functions */ /*@{*/ ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: Add . gitignore file to exclude automake build artifacts from git.
Module: Mesa Branch: master Commit: c03ad08e8dff99c3042a4ab3b6b979cf428aa6fa URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c03ad08e8dff99c3042a4ab3b6b979cf428aa6fa Author: Paul Berry stereotype...@gmail.com Date: Tue Jan 17 12:35:38 2012 -0800 i965: Add .gitignore file to exclude automake build artifacts from git. With the conversion to automake in commit e326480e4ebe8687948041c2dc5f5b7595559a2e, several additional build artifacts are created: src/mesa/drivers/dri/i965/.deps/ src/mesa/drivers/dri/i965/.libs/ src/mesa/drivers/dri/i965/Makefile src/mesa/drivers/dri/i965/Makefile.in src/mesa/drivers/dri/i965/i965_dri.la src/mesa/drivers/dri/i965/i965_symbols_test This patch adds all of these files to .gitignore. Reviewed-by: Matt Turner matts...@gmail.com Reviewed-by: Kenneth Graunke kenn...@whitecape.org --- src/mesa/drivers/dri/i965/.gitignore |6 ++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/dri/i965/.gitignore b/src/mesa/drivers/dri/i965/.gitignore new file mode 100644 index 000..1557571 --- /dev/null +++ b/src/mesa/drivers/dri/i965/.gitignore @@ -0,0 +1,6 @@ +.deps +.libs +Makefile +Makefile.in +i965_dri.la +i965_symbols_test ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): intel: Return if pointer to intel_context is null
Module: Mesa Branch: master Commit: ce1c949b162260cec84431913f7aac83cb1b938e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce1c949b162260cec84431913f7aac83cb1b938e Author: Anuj Phogat anuj.pho...@gmail.com Date: Tue Jan 17 13:21:52 2012 -0800 intel: Return if pointer to intel_context is null It is better to test if(intel == NULL) and simply return in that case. Signed-off-by: Anuj Phogat anuj.pho...@gmail.com Reviewed-by: Chad Versace chad.vers...@linux.intel.com --- src/mesa/drivers/dri/intel/intel_screen.c | 14 +++--- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index a08f3d1..0566907 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.c +++ b/src/mesa/drivers/dri/intel/intel_screen.c @@ -114,16 +114,16 @@ intelDRI2Flush(__DRIdrawable *drawable) { GET_CURRENT_CONTEXT(ctx); struct intel_context *intel = intel_context(ctx); + if (intel == NULL) + return; - if (intel != NULL) { - if (intel-gen 4) -INTEL_FIREVERTICES(intel); + if (intel-gen 4) + INTEL_FIREVERTICES(intel); - intel-need_throttle = true; + intel-need_throttle = true; - if (intel-batch.used) -intel_batchbuffer_flush(intel); - } + if (intel-batch.used) + intel_batchbuffer_flush(intel); } static const struct __DRI2flushExtensionRec intelFlushExtension = { ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965/gen5: Fix rendering of depth buffers without stencil [ v2]
Module: Mesa Branch: master Commit: a6dd4bf5fcce2520ab199201fdd1ad155457d781 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a6dd4bf5fcce2520ab199201fdd1ad155457d781 Author: Chad Versace chad.vers...@linux.intel.com Date: Tue Jan 17 15:41:46 2012 -0800 i965/gen5: Fix rendering of depth buffers without stencil [v2] Fixes the following OGLConform tests on gen5: depth-stencil(misc.state_on.depth_int) fbo_db_ARBfp(basic.OnlyDepthBuffDrawBufferRender) The problem was that, if the depth buffer's Mesa format was X8_Z24, then we emitted the hardware format D24_UNORM_X8. But, on gen5, D24_UNORM_S8 must be emitted. This bug was introduced by: commit d84a180417d1eabd680554970f1eaaa93abcd41e Author: Eric Anholt e...@anholt.net i965: Base HW depth format setup based on MESA_FORMAT, not bpp. v2: Deref 'intel' directly. Move the branch for newer chipset to top. Quote the PRM. As requested by Ken. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43408 Note: This is a candidate for the 8.0 branch. Reported-by: Xunx Fang xunx.f...@intel.com Reviewed-by: Kenneth Graunke kenn...@whitecape.org Signed-off-by: Chad Versace chad.vers...@linux.intel.com --- src/mesa/drivers/dri/i965/brw_misc_state.c | 17 +++-- 1 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_misc_state.c b/src/mesa/drivers/dri/i965/brw_misc_state.c index b6bca4b..8e59a47 100644 --- a/src/mesa/drivers/dri/i965/brw_misc_state.c +++ b/src/mesa/drivers/dri/i965/brw_misc_state.c @@ -223,10 +223,23 @@ brw_depthbuffer_format(struct brw_context *brw) case MESA_FORMAT_Z32_FLOAT: return BRW_DEPTHFORMAT_D32_FLOAT; case MESA_FORMAT_X8_Z24: - if (intel-gen = 5) + if (intel-gen = 6) { return BRW_DEPTHFORMAT_D24_UNORM_X8_UINT; - else /* Gen4 doesn't support X8; use S8 instead. */ + } else { +/* Use D24_UNORM_S8, not D24_UNORM_X8. + * + * D24_UNORM_X8 was not introduced until Gen5. (See the Ironlake PRM, + * Volume 2, Part 1, Section 8.4.6 Depth/Stencil Buffer State, Bits + * 3DSTATE_DEPTH_BUFFER.Surface_Format). + * + * However, on Gen5, D24_UNORM_X8 may be used only if separate + * stencil is enabled, and we never enable it. From the Ironlake PRM, + * same section as above, Bit 3DSTATE_DEPTH_BUFFER.Separate_Stencil_Buffer_Enable: + * If this field is disabled, the Surface Format of the depth + * buffer cannot be D24_UNORM_X8_UINT. + */ return BRW_DEPTHFORMAT_D24_UNORM_S8_UINT; + } case MESA_FORMAT_S8_Z24: return BRW_DEPTHFORMAT_D24_UNORM_S8_UINT; case MESA_FORMAT_Z32_FLOAT_X24S8: ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit