![](https://seccdn.libravatar.org/avatar/e2145bc5cf53dda95c308a3c75e8fef3.jpg?s=120&d=mm&r=g)
Hello community,
here is the log from the commit of package Mesa for openSUSE:Factory
checked in at Thu Oct 7 23:21:57 CEST 2010.
--------
--- Mesa/Mesa.changes 2010-09-30 12:04:05.000000000 +0200
+++ /mounts/work_src_done/STABLE/Mesa/Mesa.changes 2010-10-07 09:54:41.000000000 +0200
@@ -1,0 +2,13 @@
+Thu Oct 7 07:35:31 UTC 2010 - sndirsch@novell.com
+
+- commit-d316391.diff
+ * i965: Fix gen6 pointsize handling to match pre-gen6. Fixes
+ point-line-no-cull (bfo #30532)
+
+-------------------------------------------------------------------
+Tue Oct 5 06:57:26 UTC 2010 - sndirsch@novell.com
+
+- MesaLib 7.9
+- obsoletes commit-73dab75.diff
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
MesaLib-7.9-rc2.tar.bz2
commit-73dab75.diff
New:
----
MesaLib-7.9.tar.bz2
commit-d316391.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ Mesa.spec ++++++
--- /var/tmp/diff_new_pack.UrR9z4/_old 2010-10-07 23:17:11.000000000 +0200
+++ /var/tmp/diff_new_pack.UrR9z4/_new 2010-10-07 23:17:11.000000000 +0200
@@ -22,7 +22,7 @@
%define _version 7.9
Version: 7.9
-Release: 2
+Release: 3
Name: Mesa
BuildRequires: gcc-c++ libdrm-devel libexpat-devel pkgconfig python-base xorg-x11-devel
@@ -43,7 +43,7 @@
%endif
#
Summary: System for rendering interactive 3-D graphics
-Source: MesaLib-%{_version}-rc2.tar.bz2
+Source: MesaLib-%{_version}.tar.bz2
Source1: MesaDemos-7.8.2.tar.bz2
Source2: baselibs.conf
Source3: README.updates
@@ -55,7 +55,7 @@
Patch8: egl-buildfix.diff
Patch9: Mesa_indirect_old_xserver_compatibility.diff
# already upstream
-Patch10: commit-73dab75.diff
+Patch10: commit-d316391.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -135,7 +135,7 @@
Francisco Jerez
%prep
-%setup -n %{name}-%{_version}-rc2 -a1 -b4 -q
+%setup -n %{name}-%{_version} -a1 -b4 -q
# no need to build (GLUT-)Demos
rm -rf src/glut progs/{demos,redbook,samples,xdemos,glsl}
# we use freeglut
++++++ MesaLib-7.9-rc2.tar.bz2 -> MesaLib-7.9.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/Makefile new/Mesa-7.9/Makefile
--- old/Mesa-7.9-rc2/Makefile 2010-09-29 04:22:16.000000000 +0200
+++ new/Mesa-7.9/Makefile 2010-10-05 03:58:00.000000000 +0200
@@ -180,7 +180,7 @@
# Rules for making release tarballs
-VERSION=7.9-rc2
+VERSION=7.9
DIRECTORY = Mesa-$(VERSION)
LIB_NAME = MesaLib-$(VERSION)
GLUT_NAME = MesaGLUT-$(VERSION)
@@ -329,6 +329,8 @@
$(DIRECTORY)/src/gallium/Makefile.template \
$(DIRECTORY)/src/gallium/SConscript \
$(DIRECTORY)/src/gallium/targets/Makefile.dri \
+ $(DIRECTORY)/src/gallium/targets/Makefile.xorg \
+ $(DIRECTORY)/src/gallium/targets/SConscript.dri \
$(DIRECTORY)/src/gallium/*/Makefile \
$(DIRECTORY)/src/gallium/*/SConscript \
$(DIRECTORY)/src/gallium/*/*/Makefile \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/docs/relnotes-7.9.html new/Mesa-7.9/docs/relnotes-7.9.html
--- old/Mesa-7.9-rc2/docs/relnotes-7.9.html 2010-09-29 03:14:00.000000000 +0200
+++ new/Mesa-7.9/docs/relnotes-7.9.html 2010-10-05 03:58:00.000000000 +0200
@@ -8,7 +8,7 @@
<body bgcolor="#eeeeee">
-<H1>Mesa 7.9 Release Notes / date TBD</H1>
+<H1>Mesa 7.9 Release Notes / October 4, 2010</H1>
<p>
Mesa 7.9 is a new development release.
@@ -42,16 +42,85 @@
<li>New, improved GLSL compiler written by Intel.
See the <a href="shading.html"> Shading Language</a> page for
more information.
-<li>GL_EXT_timer_query extension (i965 driver only)
+<li>New, very experimental Gallium driver for R600-R700 Radeons.
+<li>Support for AMD Evergreen-based Radeons (HD 5xxx)
+<li>GL_EXT_timer_query extension (i965 driver and softpipe only)
<li>GL_EXT_framebuffer_multisample extension (intel drivers, MAX_SAMPLES = 1)
<li>GL_ARB_texture_swizzle extension (alias of GL_EXT_texture_swizzle)
-<li>GL_ARB_draw_elements_base_vertex, GL_ARB_fragment_program_shadow
- and GL_EXT_draw_buffers2 in Gallium drivers
+<li>GL_ARB_draw_elements_base_vertex, GL_ARB_fragment_program_shadow,
+ GL_ARB_window_pos, GL_EXT_gpu_program_parameters,
+ GL_ATI_texture_env_combine3, GL_MESA_pack_invert, and GL_OES_EGL_image
+ extensions in Gallium drivers
+<li>GL_ARB_depth_clamp and GL_NV_depth_clamp extensions (in nv50 and r600
+ Gallium drivers)
+<li>GL_ARB_half_float_vertex extension (in nvfx, r300, r600, softpipe,
+ and llvmpipe Gallium drivers)
+<li>GL_EXT_draw_buffers2 (in nv50, r600, softpipe, and llvmpipe Gallium
+ drivers)
+<li>GL_EXT_texture_swizzle (in nvfx, r300, r600, softpipe, and llvmpipe
+ Gallium drivers)
+<li>GL_ATI_texture_mirror_once (in nvfx, nv50, r300, r600, softpipe, and
+ llvmpipe Gallium drivers)
+<li>GL_NV_conditional_render (in r300 Gallium driver)
+<li>Initial "signs of life" support for Sandybridge hardware in i965 DRI
+ driver.
</ul>
<h2>Bug fixes</h2>
+<p>This list is likely incomplete.</p>
<ul>
+<li>Massive improvements to the Gallium driver for R300-R500 Radeons; this
+ driver is now considered stable for use as a DRI (OpenGL) driver.
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=10908">Bug 10908</a> - GLSL: gl_FogParamaters gl_Fog built-in uniform not functioning</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=13753">Bug 13753</a> - Numerous bugs in GLSL uniform handling</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=16854">Bug 16854</a> - GLSL function call at global scope causes SEGV</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=16856">Bug 16856</a> - GLSL indexing of unsized array results in assertion failure</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=18659">Bug 18659</a> - Crash in shader/slang/slang_codegen.c _slang_gen_function_call_name()</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=19089">Bug 19089</a> - [GLSL] glsl1/shadow2D() cases fail</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=22622">Bug 22622</a> - [GM965 GLSL] noise*() cause GPU lockup</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=23743">Bug 23743</a> - For loop from 0 to 0 not optimized out</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=24553">Bug 24553</a> - shader compilation times explode when using more () pairs</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25664">Bug 25664</a> - [GLSL] re-declaring an empty array fails to compile</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25769">Bug 25769</a> - [GLSL] "float" can be implicitly converted to "int"</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25808">Bug 25808</a> - [GLSL] const variable is modified successfully</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25826">Bug 25826</a> - [GLSL] declaring an unsized array then re-declaring with a size fails</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25827">Bug 25827</a> - [GLSL] vector constructor accepts too many arguments successfully</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25829">Bug 25829</a> - [GLSL] allowing non-void function without returning value</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25830">Bug 25830</a> - [GLSL] allowing non-constant-expression as const declaration initializer</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25877">Bug 25877</a> - [GLSL 1.10] implicit conversion from "int" to "float" should not be allowed</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25878">Bug 25878</a> - [GLSL] sampler is converted to int successfully</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25994">Bug 25994</a> - [GM45][GLSL] 'return' statement in vertex shader unsupported</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25999">Bug 25999</a> - [GLSL] embedded structure constructor fails to compile</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26000">Bug 26000</a> - [GLSL] allowing different parameter qualifier between the function definition and declaration</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26001">Bug 26001</a> - [GLSL 1.10] constructing matrix from matrix succeeds</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26224">Bug 26224</a> - [GLSL] Cannot get location of a uniform struct member</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26990">Bug 26990</a> - [GLSL] variable declaration in "while" fails to compile</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27004">Bug 27004</a> - [GLSL] allowing macro redefinition</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27060">Bug 27060</a> - [965] piglit glsl-fs-raytrace failure due to lack of function calls.</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27216">Bug 27216</a> - Assignment with a function call in an if statement causes an assertion failure</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27261">Bug 27261</a> - GLSL Compiler fails on the following vertex shader</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27265">Bug 27265</a> - GLSL Compiler doesnt link the attached vertex shader</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27388">Bug 27388</a> - [i965] piglit glsl-vs-arrays failure</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27403">Bug 27403</a> - GLSL struct causing "Invalid src register file ..." error</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27914">Bug 27914</a> - GLSL compiler uses MUL+ADD where it could use MAD</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28055">Bug 28055</a> - glsl-texcoord-array fails GLSL compilation</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28374">Bug 28374</a> - SIGSEGV shader/slang/slang_typeinfo.c:534</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28748">Bug 28748</a> - [i965] uninlined function calls support</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28833">Bug 28833</a> - piglit/shaders/glsl-texcoord-array fail</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28834">Bug 28834</a> - Add support for system fpclassify to GL_OES_query_matrix function for OpenBSD / NetBSD</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28837">Bug 28837</a> - varying vec4 index support</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28845">Bug 28845</a> - The GLU tesselator code has some warnings</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28889">Bug 28889</a> - [regression] wine game crash</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28894">Bug 28894</a> - slang build fails if absolute path contains spaces</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28913">Bug 28913</a> - [GLSL] allowing two version statements</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28931">Bug 28931</a> - Floating Point Exception in Warzone2100 Trunk version</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28966">Bug 28966</a> - [r300g] Dynamic branching 3 demo does not run</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28967">Bug 28967</a> - slang/slang_emit.c:350: storage_to_src_reg: Assertion `index >= 0' failed.</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29013">Bug 29013</a> - [r300g] translate_rgb_op: unknown opcode ILLEGAL OPCODE</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29020">Bug 29020</a> - [r300g] Wine d3d9 tests hardlock</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29910">Bug 29910</a> - Mesa advertises bogus GL_ARB_shading_language_120</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30196">Bug 30196</a> - [GLSL] gl_TextureMatrix{Inverse,Transpose,InverseTranspose} unsupported</li>
</ul>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/gallium/auxiliary/tgsi/tgsi_exec.c new/Mesa-7.9/src/gallium/auxiliary/tgsi/tgsi_exec.c
--- old/Mesa-7.9-rc2/src/gallium/auxiliary/tgsi/tgsi_exec.c 2010-09-29 03:14:00.000000000 +0200
+++ new/Mesa-7.9/src/gallium/auxiliary/tgsi/tgsi_exec.c 2010-10-05 01:35:50.000000000 +0200
@@ -605,8 +605,10 @@
for (i = 0; i < inst->Instruction.NumSrcRegs; i++) {
if ((inst->Src[i].Register.File ==
inst->Dst[0].Register.File) &&
- (inst->Src[i].Register.Index ==
- inst->Dst[0].Register.Index)) {
+ ((inst->Src[i].Register.Index ==
+ inst->Dst[0].Register.Index) ||
+ inst->Src[i].Register.Indirect ||
+ inst->Dst[0].Register.Indirect)) {
/* loop over dest channels */
uint channelsWritten = 0x0;
FOR_EACH_ENABLED_CHANNEL(*inst, chan) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/gallium/auxiliary/tgsi/tgsi_sse2.c new/Mesa-7.9/src/gallium/auxiliary/tgsi/tgsi_sse2.c
--- old/Mesa-7.9-rc2/src/gallium/auxiliary/tgsi/tgsi_sse2.c 2010-09-29 03:14:00.000000000 +0200
+++ new/Mesa-7.9/src/gallium/auxiliary/tgsi/tgsi_sse2.c 2010-10-05 01:35:50.000000000 +0200
@@ -2830,31 +2830,52 @@
* Check if the instructions dst register is the same as any src
* register and warn if there's a posible SOA dependency.
*/
-static void
+static boolean
check_soa_dependencies(const struct tgsi_full_instruction *inst)
{
- switch (inst->Instruction.Opcode) {
+ uint opcode = inst->Instruction.Opcode;
+
+ /* XXX: we only handle src/dst aliasing in a few opcodes currently.
+ * Need to use an additional temporay to hold the result in the
+ * cases where the code is too opaque to fix.
+ */
+
+ switch (opcode) {
case TGSI_OPCODE_ADD:
case TGSI_OPCODE_MOV:
case TGSI_OPCODE_MUL:
+ case TGSI_OPCODE_RCP:
+ case TGSI_OPCODE_RSQ:
+ case TGSI_OPCODE_EXP:
+ case TGSI_OPCODE_LOG:
+ case TGSI_OPCODE_DP3:
+ case TGSI_OPCODE_DP4:
+ case TGSI_OPCODE_DP2A:
+ case TGSI_OPCODE_EX2:
+ case TGSI_OPCODE_LG2:
+ case TGSI_OPCODE_POW:
case TGSI_OPCODE_XPD:
+ case TGSI_OPCODE_DPH:
+ case TGSI_OPCODE_COS:
+ case TGSI_OPCODE_SIN:
+ case TGSI_OPCODE_TEX:
+ case TGSI_OPCODE_TXB:
+ case TGSI_OPCODE_TXP:
+ case TGSI_OPCODE_NRM:
+ case TGSI_OPCODE_NRM4:
+ case TGSI_OPCODE_DP2:
/* OK - these opcodes correctly handle SOA dependencies */
- break;
+ return TRUE;
default:
- if (tgsi_check_soa_dependencies(inst)) {
- uint opcode = inst->Instruction.Opcode;
+ if (!tgsi_check_soa_dependencies(inst))
+ return TRUE;
- /* XXX: we only handle src/dst aliasing in a few opcodes
- * currently. Need to use an additional temporay to hold
- * the result in the cases where the code is too opaque to
- * fix.
- */
- if (opcode != TGSI_OPCODE_MOV) {
- debug_printf("Warning: src/dst aliasing in instruction"
- " is not handled:\n");
- tgsi_dump_instruction(inst, 1);
- }
- }
+ debug_printf("Warning: src/dst aliasing in instruction"
+ " is not handled:\n");
+ debug_printf("Warning: ");
+ tgsi_dump_instruction(inst, 1);
+
+ return FALSE;
}
}
@@ -2954,7 +2975,8 @@
tgsi_get_processor_name(proc));
}
- check_soa_dependencies(&parse.FullToken.FullInstruction);
+ if (ok)
+ ok = check_soa_dependencies(&parse.FullToken.FullInstruction);
break;
case TGSI_TOKEN_TYPE_IMMEDIATE:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/gallium/auxiliary/util/u_atomic.h new/Mesa-7.9/src/gallium/auxiliary/util/u_atomic.h
--- old/Mesa-7.9-rc2/src/gallium/auxiliary/util/u_atomic.h 2010-04-27 23:41:59.000000000 +0200
+++ new/Mesa-7.9/src/gallium/auxiliary/util/u_atomic.h 2010-10-02 01:55:56.000000000 +0200
@@ -29,6 +29,8 @@
#define PIPE_ATOMIC_ASM_MSVC_X86
#elif (defined(PIPE_CC_GCC) && defined(PIPE_ARCH_X86))
#define PIPE_ATOMIC_ASM_GCC_X86
+#elif (defined(PIPE_CC_GCC) && defined(PIPE_ARCH_X86_64))
+#define PIPE_ATOMIC_ASM_GCC_X86_64
#elif defined(PIPE_CC_GCC) && (PIPE_CC_GCC_VERSION >= 401)
#define PIPE_ATOMIC_GCC_INTRINSIC
#else
@@ -36,6 +38,51 @@
#endif
+#if defined(PIPE_ATOMIC_ASM_GCC_X86_64)
+#define PIPE_ATOMIC "GCC x86_64 assembly"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define p_atomic_set(_v, _i) (*(_v) = (_i))
+#define p_atomic_read(_v) (*(_v))
+
+static INLINE boolean
+p_atomic_dec_zero(int32_t *v)
+{
+ unsigned char c;
+
+ __asm__ __volatile__("lock; decl %0; sete %1":"+m"(*v), "=qm"(c)
+ ::"memory");
+
+ return c != 0;
+}
+
+static INLINE void
+p_atomic_inc(int32_t *v)
+{
+ __asm__ __volatile__("lock; incl %0":"+m"(*v));
+}
+
+static INLINE void
+p_atomic_dec(int32_t *v)
+{
+ __asm__ __volatile__("lock; decl %0":"+m"(*v));
+}
+
+static INLINE int32_t
+p_atomic_cmpxchg(int32_t *v, int32_t old, int32_t _new)
+{
+ return __sync_val_compare_and_swap(v, old, _new);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* PIPE_ATOMIC_ASM_GCC_X86_64 */
+
#if defined(PIPE_ATOMIC_ASM_GCC_X86)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/gallium/drivers/r300/r300_query.c new/Mesa-7.9/src/gallium/drivers/r300/r300_query.c
--- old/Mesa-7.9-rc2/src/gallium/drivers/r300/r300_query.c 2010-08-23 20:40:55.000000000 +0200
+++ new/Mesa-7.9/src/gallium/drivers/r300/r300_query.c 2010-10-02 00:51:28.000000000 +0200
@@ -158,7 +158,7 @@
uint mode)
{
struct r300_context *r300 = r300_context(pipe);
- uint64_t result;
+ uint64_t result = 0;
boolean wait;
if (query) {
@@ -167,9 +167,9 @@
if (!r300_get_query_result(pipe, query, wait, &result)) {
r300->skip_rendering = FALSE;
+ } else {
+ r300->skip_rendering = result == 0;
}
-
- r300->skip_rendering = result == 0;
} else {
r300->skip_rendering = FALSE;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/gallium/state_trackers/egl/common/egl_g3d_st.c new/Mesa-7.9/src/gallium/state_trackers/egl/common/egl_g3d_st.c
--- old/Mesa-7.9-rc2/src/gallium/state_trackers/egl/common/egl_g3d_st.c 2010-08-23 20:40:55.000000000 +0200
+++ new/Mesa-7.9/src/gallium/state_trackers/egl/common/egl_g3d_st.c 2010-10-02 00:51:28.000000000 +0200
@@ -51,7 +51,6 @@
static boolean
egl_g3d_st_manager_get_egl_image(struct st_manager *smapi,
- struct st_context_iface *stctx,
void *egl_image,
struct st_egl_image *out)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/gallium/targets/Makefile.xorg new/Mesa-7.9/src/gallium/targets/Makefile.xorg
--- old/Mesa-7.9-rc2/src/gallium/targets/Makefile.xorg 1970-01-01 01:00:00.000000000 +0100
+++ new/Mesa-7.9/src/gallium/targets/Makefile.xorg 2010-10-02 00:51:28.000000000 +0200
@@ -0,0 +1,82 @@
+# src/gallium/targets/Makefile.xorg
+
+# Template makefile for gallium xorg drivers.
+#
+# Usage:
+# The minimum that the including makefile needs to define
+# is TOP, LIBNAME and one of of the *_SOURCES.
+#
+# Optional defines:
+# DRIVER_INCLUDES are appended to the list of includes directories.
+# DRIVER_DEFINES is not used for makedepend, but for compilation.
+# DRIVER_PIPES are pipe drivers and modules that the driver depends on.
+# DRIVER_LINKS are flags given to the linker.
+
+### Basic defines ###
+
+OBJECTS = $(C_SOURCES:.c=.o) \
+ $(CPP_SOURCES:.cpp=.o) \
+ $(ASM_SOURCES:.S=.o)
+
+INCLUDES = \
+ $(shell pkg-config --cflags-only-I pixman-1 xorg-server libdrm xproto) \
+ -I$(TOP)/src/gallium/include \
+ -I$(TOP)/src/gallium/drivers \
+ -I$(TOP)/src/gallium/auxiliary \
+ -I$(TOP)/src/gallium/winsys \
+ $(DRIVER_INCLUDES)
+
+LIBNAME_STAGING = $(TOP)/$(LIB_DIR)/gallium/$(TARGET)
+
+ifeq ($(MESA_LLVM),1)
+LD = g++
+LDFLAGS += $(LLVM_LDFLAGS)
+USE_CXX=1
+DRIVER_PIPES += $(TOP)/src/gallium/drivers/llvmpipe/libllvmpipe.a
+DRIVER_LINKS += $(LLVM_LIBS) -lm -ldl
+endif
+
+
+##### TARGETS #####
+
+default: depend $(TOP)/$(LIB_DIR)/gallium $(LIBNAME) $(LIBNAME_STAGING)
+
+$(LIBNAME): $(OBJECTS) Makefile ../Makefile.xorg $(LIBS) $(DRIVER_PIPES)
+ $(MKLIB) -noprefix -o $@ $(LDFLAGS) $(OBJECTS) $(DRIVER_PIPES) $(GALLIUM_AUXILIARIES) $(DRIVER_LINKS)
+
+depend: $(C_SOURCES) $(CPP_SOURCES) $(ASM_SOURCES) $(SYMLINKS) $(GENERATED_SOURCES)
+ rm -f depend
+ touch depend
+ $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(C_SOURCES) $(CPP_SOURCES) $(ASM_SOURCES) $(GENERATED_SOURCES) 2> /dev/null
+
+$(LIBNAME_STAGING): $(LIBNAME)
+ $(INSTALL) $(LIBNAME) $(TOP)/$(LIB_DIR)/gallium
+
+$(TOP)/$(LIB_DIR)/gallium:
+ mkdir -p $@
+
+clean:
+ rm -f $(OBJECTS) $(GENERATED_SOURCES) $(LIBNAME).a depend depend.bak
+
+install:
+ $(INSTALL) -d $(DESTDIR)/$(XORG_DRIVER_INSTALL_DIR)
+ $(MINSTALL) -m 755 $(LIBNAME) $(DESTDIR)/$(XORG_DRIVER_INSTALL_DIR)
+
+
+##### RULES #####
+
+%.s: %.c
+ $(CC) -S $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
+
+%.o: %.c
+ $(CC) -c $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
+
+%.o: %.cpp
+ $(CXX) -c $(INCLUDES) $(CXXFLAGS) $(DRIVER_DEFINES) $< -o $@
+
+%.o: %.S
+ $(CC) -c $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
+
+sinclude depend
+
+.PHONY: default clean install
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/gallium/targets/SConscript.dri new/Mesa-7.9/src/gallium/targets/SConscript.dri
--- old/Mesa-7.9-rc2/src/gallium/targets/SConscript.dri 1970-01-01 01:00:00.000000000 +0100
+++ new/Mesa-7.9/src/gallium/targets/SConscript.dri 2010-10-02 00:51:28.000000000 +0200
@@ -0,0 +1,108 @@
+###################################
+# SConcscript file for dri targets
+
+Import('*')
+
+drienv = env.Clone()
+
+drienv.Replace(CPPPATH = [
+ '#src/mesa/drivers/dri/common',
+ '#include',
+ '#include/GL/internal',
+ '#src/mapi',
+ '#src/gallium/include',
+ '#src/gallium/auxiliary',
+ '#src/gallium/drivers',
+ '#src/gallium/winsys',
+ '#src/mesa',
+ '#src/mesa/main',
+ '#src/mesa/glapi',
+ '#src/mesa/math',
+ '#src/mesa/transform',
+ '#src/mesa/shader',
+ '#src/mesa/swrast',
+ '#src/mesa/swrast_setup',
+ '#src/egl/main',
+ '#src/egl/drivers/dri',
+])
+
+drienv.ParseConfig('pkg-config --cflags --libs libdrm')
+
+dri_common_utils = drienv.SharedObject(
+ target = 'utils.o',
+ source = '#src/mesa/drivers/dri/common/utils.c'
+)
+
+dri_common_xmlconfig = drienv.SharedObject(
+ target = 'xmlconfig.o',
+ source = '#src/mesa/drivers/dri/common/xmlconfig.c'
+)
+
+dri_common_vblank = drienv.SharedObject(
+ target = 'vblank.o',
+ source = '#src/mesa/drivers/dri/common/vblank.c'
+)
+
+dri_common_dri_util = drienv.SharedObject(
+ target = 'dri_util.o',
+ source = '#src/mesa/drivers/dri/common/dri_util.c'
+)
+
+dri_common_drisw_util = drienv.SharedObject(
+ target = 'drisw_util.o',
+ source = '#src/mesa/drivers/dri/common/drisw_util.c'
+)
+
+
+COMMON_DRI_SW_OBJECTS = [
+ dri_common_utils,
+ dri_common_xmlconfig,
+ dri_common_drisw_util,
+]
+
+COMMON_DRI_DRM_OBJECTS = [
+ dri_common_utils,
+ dri_common_xmlconfig,
+ dri_common_vblank,
+ dri_common_dri_util,
+]
+
+drienv.AppendUnique(LIBS = [
+ 'expat',
+ 'talloc',
+])
+
+Export([
+ 'drienv',
+ 'COMMON_DRI_SW_OBJECTS',
+ 'COMMON_DRI_DRM_OBJECTS',
+])
+
+SConscript([
+ 'dri-swrast/SConscript',
+])
+
+if 'vmware' in env['winsys']:
+ SConscript([
+ 'dri-vmwgfx/SConscript',
+ ])
+
+if 'i915' in env['winsys']:
+ SConscript([
+ 'dri-i915/SConscript',
+ ])
+
+if 'i965' in env['winsys']:
+ SConscript([
+ 'dri-i965/SConscript',
+ ])
+
+if 'radeon' in env['winsys']:
+ SConscript([
+ 'dri-radeong/SConscript',
+ ])
+
+if 'r600' in env['winsys']:
+ SConscript([
+ 'dri-r600/SConscript',
+ ])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/glsl/ir_constant_propagation.cpp new/Mesa-7.9/src/glsl/ir_constant_propagation.cpp
--- old/Mesa-7.9-rc2/src/glsl/ir_constant_propagation.cpp 2010-09-29 03:25:57.000000000 +0200
+++ new/Mesa-7.9/src/glsl/ir_constant_propagation.cpp 2010-10-02 00:51:28.000000000 +0200
@@ -1,5 +1,5 @@
/*
- * Constantright © 2010 Intel Corporation
+ * Copyright © 2010 Intel Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining a
* constant of this software and associated documentation files (the "Software"),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/glx/dri_common.c new/Mesa-7.9/src/glx/dri_common.c
--- old/Mesa-7.9-rc2/src/glx/dri_common.c 2010-09-17 11:12:35.000000000 +0200
+++ new/Mesa-7.9/src/glx/dri_common.c 2010-10-02 00:51:28.000000000 +0200
@@ -391,17 +391,19 @@
if (__glxHashLookup(priv->drawHash,
gc->currentDrawable, (void *) &pdraw) == 0) {
- if (pdraw->drawable == pdraw->xDrawable)
+ if (pdraw->drawable == pdraw->xDrawable) {
(*pdraw->destroyDrawable)(pdraw);
- __glxHashDelete(priv->drawHash, gc->currentDrawable);
+ __glxHashDelete(priv->drawHash, gc->currentDrawable);
+ }
}
if (gc->currentDrawable != gc->currentReadable &&
__glxHashLookup(priv->drawHash,
gc->currentReadable, (void *) &pdraw) == 0) {
- if (pdraw->drawable == pdraw->xDrawable)
+ if (pdraw->drawable == pdraw->xDrawable) {
(*pdraw->destroyDrawable)(pdraw);
- __glxHashDelete(priv->drawHash, gc->currentReadable);
+ __glxHashDelete(priv->drawHash, gc->currentReadable);
+ }
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/mapi/mapi/entry_x86-64_tls.h new/Mesa-7.9/src/mapi/mapi/entry_x86-64_tls.h
--- old/Mesa-7.9-rc2/src/mapi/mapi/entry_x86-64_tls.h 2010-09-17 11:09:35.000000000 +0200
+++ new/Mesa-7.9/src/mapi/mapi/entry_x86-64_tls.h 2010-10-02 00:51:28.000000000 +0200
@@ -61,7 +61,7 @@
void
entry_patch(mapi_func entry, int slot)
{
- void *code = (void *) entry;
+ char *code = (char *) entry;
*((unsigned int *) (code + 12)) = slot * sizeof(mapi_func);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/mapi/mapi/entry_x86_tls.h new/Mesa-7.9/src/mapi/mapi/entry_x86_tls.h
--- old/Mesa-7.9-rc2/src/mapi/mapi/entry_x86_tls.h 2010-09-17 11:09:35.000000000 +0200
+++ new/Mesa-7.9/src/mapi/mapi/entry_x86_tls.h 2010-10-02 00:51:28.000000000 +0200
@@ -91,7 +91,7 @@
void
entry_patch(mapi_func entry, int slot)
{
- void *code = (void *) entry;
+ char *code = (char *) entry;
*((unsigned long *) (code + 8)) = slot * sizeof(mapi_func);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/mapi/mapi/entry_x86_tsd.h new/Mesa-7.9/src/mapi/mapi/entry_x86_tsd.h
--- old/Mesa-7.9-rc2/src/mapi/mapi/entry_x86_tsd.h 2010-09-17 11:09:35.000000000 +0200
+++ new/Mesa-7.9/src/mapi/mapi/entry_x86_tsd.h 2010-10-02 00:51:28.000000000 +0200
@@ -63,7 +63,7 @@
void
entry_patch(mapi_func entry, int slot)
{
- void *code = (void *) entry;
+ char *code = (char *) entry;
*((unsigned long *) (code + 11)) = slot * sizeof(mapi_func);
*((unsigned long *) (code + 22)) = slot * sizeof(mapi_func);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/mesa/drivers/dri/i965/brw_draw.c new/Mesa-7.9/src/mesa/drivers/dri/i965/brw_draw.c
--- old/Mesa-7.9-rc2/src/mesa/drivers/dri/i965/brw_draw.c 2010-08-23 20:40:55.000000000 +0200
+++ new/Mesa-7.9/src/mesa/drivers/dri/i965/brw_draw.c 2010-10-02 00:51:28.000000000 +0200
@@ -204,6 +204,13 @@
GLcontext *ctx = &brw->intel.ctx;
GLuint i;
+ /* XXX FIXME */
+ if (brw->intel.gen >= 6) {
+ for (i = 0; i < nr_prims; i++)
+ if (prim[i].mode == GL_LINE_LOOP)
+ return GL_TRUE;
+ }
+
/* If we don't require strict OpenGL conformance, never
* use fallbacks. If we're forcing fallbacks, always
* use fallfacks.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/mesa/drivers/dri/i965/brw_wm.c new/Mesa-7.9/src/mesa/drivers/dri/i965/brw_wm.c
--- old/Mesa-7.9-rc2/src/mesa/drivers/dri/i965/brw_wm.c 2010-09-29 03:33:10.000000000 +0200
+++ new/Mesa-7.9/src/mesa/drivers/dri/i965/brw_wm.c 2010-10-05 02:41:56.000000000 +0200
@@ -342,13 +342,44 @@
if (unit->_ReallyEnabled) {
const struct gl_texture_object *t = unit->_Current;
const struct gl_texture_image *img = t->Image[0][t->BaseLevel];
+ int swizzles[SWIZZLE_NIL + 1] = {
+ SWIZZLE_X,
+ SWIZZLE_Y,
+ SWIZZLE_Z,
+ SWIZZLE_W,
+ SWIZZLE_ZERO,
+ SWIZZLE_ONE,
+ SWIZZLE_NIL
+ };
+
+ key->tex_swizzles[i] = SWIZZLE_NOOP;
+
+ /* GL_DEPTH_TEXTURE_MODE is normally handled through
+ * brw_wm_surface_state, but it applies to shadow compares as
+ * well and our shadow compares always return the result in
+ * all 4 channels.
+ */
+ if (t->CompareMode == GL_COMPARE_R_TO_TEXTURE_ARB) {
+ if (t->DepthMode == GL_ALPHA) {
+ swizzles[0] = SWIZZLE_ZERO;
+ swizzles[1] = SWIZZLE_ZERO;
+ swizzles[2] = SWIZZLE_ZERO;
+ } else if (t->DepthMode == GL_LUMINANCE) {
+ swizzles[3] = SWIZZLE_ONE;
+ }
+ }
+
if (img->InternalFormat == GL_YCBCR_MESA) {
key->yuvtex_mask |= 1 << i;
if (img->TexFormat == MESA_FORMAT_YCBCR)
key->yuvtex_swap_mask |= 1 << i;
}
- key->tex_swizzles[i] = t->_Swizzle;
+ key->tex_swizzles[i] =
+ MAKE_SWIZZLE4(swizzles[GET_SWZ(t->_Swizzle, 0)],
+ swizzles[GET_SWZ(t->_Swizzle, 1)],
+ swizzles[GET_SWZ(t->_Swizzle, 2)],
+ swizzles[GET_SWZ(t->_Swizzle, 3)]);
}
else {
key->tex_swizzles[i] = SWIZZLE_NOOP;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/mesa/drivers/dri/i965/gen6_clip_state.c new/Mesa-7.9/src/mesa/drivers/dri/i965/gen6_clip_state.c
--- old/Mesa-7.9-rc2/src/mesa/drivers/dri/i965/gen6_clip_state.c 2010-09-29 03:34:27.000000000 +0200
+++ new/Mesa-7.9/src/mesa/drivers/dri/i965/gen6_clip_state.c 2010-10-05 02:41:33.000000000 +0200
@@ -60,7 +60,6 @@
depth_clamp |
provoking);
OUT_BATCH(GEN6_CLIP_FORCE_ZERO_RTAINDEX);
- OUT_BATCH(0);
ADVANCE_BATCH();
intel_batchbuffer_emit_mi_flush(intel->batch);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/mesa/drivers/dri/intel/intel_context.c new/Mesa-7.9/src/mesa/drivers/dri/intel/intel_context.c
--- old/Mesa-7.9-rc2/src/mesa/drivers/dri/intel/intel_context.c 2010-09-29 03:35:26.000000000 +0200
+++ new/Mesa-7.9/src/mesa/drivers/dri/intel/intel_context.c 2010-10-05 03:58:00.000000000 +0200
@@ -163,6 +163,19 @@
case PCI_CHIP_ILM_G:
chipset = "Intel(R) Ironlake Mobile";
break;
+ case PCI_CHIP_SANDYBRIDGE_GT1:
+ case PCI_CHIP_SANDYBRIDGE_GT2:
+ case PCI_CHIP_SANDYBRIDGE_GT2_PLUS:
+ chipset = "Intel(R) Sandybridge Desktop";
+ break;
+ case PCI_CHIP_SANDYBRIDGE_M_GT1:
+ case PCI_CHIP_SANDYBRIDGE_M_GT2:
+ case PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS:
+ chipset = "Intel(R) Sandybridge Mobile";
+ break;
+ case PCI_CHIP_SANDYBRIDGE_S:
+ chipset = "Intel(R) Sandybridge Server";
+ break;
default:
chipset = "Unknown Intel Chipset";
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/mesa/drivers/dri/intel/intel_fbo.c new/Mesa-7.9/src/mesa/drivers/dri/intel/intel_fbo.c
--- old/Mesa-7.9-rc2/src/mesa/drivers/dri/intel/intel_fbo.c 2010-09-29 03:14:00.000000000 +0200
+++ new/Mesa-7.9/src/mesa/drivers/dri/intel/intel_fbo.c 2010-10-05 03:58:00.000000000 +0200
@@ -102,7 +102,7 @@
{
struct intel_context *intel = intel_context(ctx);
struct intel_renderbuffer *irb = intel_renderbuffer(rb);
- int cpp;
+ int cpp, tiling;
ASSERT(rb->Name != 0);
@@ -176,7 +176,13 @@
/* alloc hardware renderbuffer */
DBG("Allocating %d x %d Intel RBO\n", width, height);
- irb->region = intel_region_alloc(intel->intelScreen, I915_TILING_NONE, cpp,
+ tiling = I915_TILING_NONE;
+
+ /* Gen6 requires depth must be tiling */
+ if (intel->gen >= 6 && rb->Format == MESA_FORMAT_S8_Z24)
+ tiling = I915_TILING_Y;
+
+ irb->region = intel_region_alloc(intel->intelScreen, tiling, cpp,
width, height, GL_TRUE);
if (!irb->region)
return GL_FALSE; /* out of memory? */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c new/Mesa-7.9/src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c
--- old/Mesa-7.9-rc2/src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c 2010-09-29 03:14:00.000000000 +0200
+++ new/Mesa-7.9/src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c 2010-10-05 03:58:00.000000000 +0200
@@ -250,7 +250,7 @@
if (inst->RGB.OutputWriteMask || inst->Alpha.OutputWriteMask || inst->Alpha.DepthWriteMask) {
code->inst[ip].inst0 = R500_INST_TYPE_OUT;
if (inst->WriteALUResult) {
- error("%s: cannot write output and ALU result at the same time");
+ error("Cannot write output and ALU result at the same time");
return;
}
} else {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/mesa/drivers/dri/r300/compiler/radeon_emulate_loops.c new/Mesa-7.9/src/mesa/drivers/dri/r300/compiler/radeon_emulate_loops.c
--- old/Mesa-7.9-rc2/src/mesa/drivers/dri/r300/compiler/radeon_emulate_loops.c 2010-09-17 11:11:05.000000000 +0200
+++ new/Mesa-7.9/src/mesa/drivers/dri/r300/compiler/radeon_emulate_loops.c 2010-10-05 03:58:00.000000000 +0200
@@ -386,8 +386,6 @@
case RC_OPCODE_SNE:
break;
default:
- rc_error(c, "%s: expected conditional",
- __FUNCTION__);
return 0;
}
loop->Cond = loop->If->Prev;
@@ -431,8 +429,10 @@
loop = &s->Loops[s->LoopCount++];
- if (!build_loop_info(s->C, loop, inst))
+ if (!build_loop_info(s->C, loop, inst)) {
+ rc_error(s->C, "Failed to build loop info\n");
return 0;
+ }
if(try_unroll_loop(s->C, loop)){
return 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/mesa/drivers/dri/r300/compiler/radeon_pair_schedule.c new/Mesa-7.9/src/mesa/drivers/dri/r300/compiler/radeon_pair_schedule.c
--- old/Mesa-7.9-rc2/src/mesa/drivers/dri/r300/compiler/radeon_pair_schedule.c 2010-09-29 03:14:00.000000000 +0200
+++ new/Mesa-7.9/src/mesa/drivers/dri/r300/compiler/radeon_pair_schedule.c 2010-10-05 03:58:00.000000000 +0200
@@ -475,6 +475,12 @@
{
struct rc_pair_instruction backup;
+ /*Instructions can't write output registers and ALU result at the
+ * same time. */
+ if ((rgb->WriteALUResult && alpha->Alpha.OutputWriteMask)
+ || (rgb->RGB.OutputWriteMask && alpha->WriteALUResult)) {
+ return 0;
+ }
memcpy(&backup, rgb, sizeof(struct rc_pair_instruction));
if (destructive_merge_instructions(rgb, alpha))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mesa-7.9-rc2/src/mesa/drivers/dri/r600/evergreen_chip.c new/Mesa-7.9/src/mesa/drivers/dri/r600/evergreen_chip.c
--- old/Mesa-7.9-rc2/src/mesa/drivers/dri/r600/evergreen_chip.c 2010-09-28 00:00:19.000000000 +0200
+++ new/Mesa-7.9/src/mesa/drivers/dri/r600/evergreen_chip.c 2010-10-05 01:35:50.000000000 +0200
@@ -275,7 +275,6 @@
{
context_t *context = EVERGREEN_CONTEXT(ctx);
struct radeon_aos * paos = (struct radeon_aos *)pAos;
- unsigned int nVBsize;
BATCH_LOCALS(&context->radeon);
unsigned int uSQ_VTX_CONSTANT_WORD0_0;
@@ -289,21 +288,11 @@
r700SyncSurf(context, paos->bo, RADEON_GEM_DOMAIN_GTT, 0, VC_ACTION_ENA_bit);
- if(0 == pStreamDesc->stride)
- {
- nVBsize = paos->count * pStreamDesc->size * getTypeSize(pStreamDesc->type);
- }
- else
- {
- nVBsize = (paos->count - 1) * pStreamDesc->stride
- + pStreamDesc->size * getTypeSize(pStreamDesc->type);
- }
-
//uSQ_VTX_CONSTANT_WORD0_0
uSQ_VTX_CONSTANT_WORD0_0 = paos->offset;
//uSQ_VTX_CONSTANT_WORD1_0
- uSQ_VTX_CONSTANT_WORD1_0 = nVBsize;
+ uSQ_VTX_CONSTANT_WORD1_0 = paos->bo->size - paos->offset - 1;
//uSQ_VTX_CONSTANT_WORD2_0
SETfield(uSQ_VTX_CONSTANT_WORD2_0,
@@ -391,17 +380,6 @@
if (context->radeon.tcl.aos_count == 0)
return;
- BEGIN_BATCH_NO_AUTOSTATE(6);
- R600_OUT_BATCH(CP_PACKET3(R600_IT_SET_CTL_CONST, 1));
- R600_OUT_BATCH(mmSQ_VTX_BASE_VTX_LOC - ASIC_CTL_CONST_BASE_INDEX);
- R600_OUT_BATCH(0);
-
- R600_OUT_BATCH(CP_PACKET3(R600_IT_SET_CTL_CONST, 1));
- R600_OUT_BATCH(mmSQ_VTX_START_INST_LOC - ASIC_CTL_CONST_BASE_INDEX);
- R600_OUT_BATCH(0);
- END_BATCH();
- COMMIT_BATCH();
-
for(i=0; i
participants (1)
-
root@hilbert.suse.de