Compare commits
24 Commits
mesa-10.5.
...
mesa-10.5.
Author | SHA1 | Date | |
---|---|---|---|
|
ea0d1f575c | ||
|
776e47a305 | ||
|
e2dd554651 | ||
|
0f5ec7250d | ||
|
a2785a23e6 | ||
|
2ad5a068fa | ||
|
1dfbc95b76 | ||
|
215f28c695 | ||
|
95633d09e8 | ||
|
33c6a4c018 | ||
|
548fc14d36 | ||
|
c614fef092 | ||
|
8ba18d75d6 | ||
|
597d85c6b7 | ||
|
ef0e335c14 | ||
|
f8966a07d9 | ||
|
ee63b31594 | ||
|
1ebb42a6b2 | ||
|
a968edae6c | ||
|
f44e518364 | ||
|
b2a6b01082 | ||
|
abdae1c4d1 | ||
|
f73954e0a7 | ||
|
65776421fe |
@@ -31,6 +31,7 @@ endif
|
||||
endif
|
||||
|
||||
LOCAL_C_INCLUDES += \
|
||||
$(MESA_TOP)/src \
|
||||
$(MESA_TOP)/include
|
||||
|
||||
MESA_VERSION=$(shell cat $(MESA_TOP)/VERSION)
|
||||
@@ -41,6 +42,19 @@ LOCAL_CFLAGS += \
|
||||
-DANDROID_VERSION=0x0$(MESA_ANDROID_MAJOR_VERSION)0$(MESA_ANDROID_MINOR_VERSION)
|
||||
|
||||
LOCAL_CFLAGS += \
|
||||
-DHAVE___BUILTIN_EXPECT \
|
||||
-DHAVE___BUILTIN_FFS \
|
||||
-DHAVE___BUILTIN_FFSLL \
|
||||
-DHAVE_FUNC_ATTRIBUTE_FLATTEN \
|
||||
-DHAVE_FUNC_ATTRIBUTE_UNUSED \
|
||||
-DHAVE_FUNC_ATTRIBUTE_FORMAT \
|
||||
-DHAVE_FUNC_ATTRIBUTE_PACKED \
|
||||
-DHAVE___BUILTIN_CTZ \
|
||||
-DHAVE___BUILTIN_POPCOUNT \
|
||||
-DHAVE___BUILTIN_POPCOUNTLL \
|
||||
-DHAVE___BUILTIN_CLZ \
|
||||
-DHAVE___BUILTIN_CLZLL \
|
||||
-DHAVE___BUILTIN_UNREACHABLE \
|
||||
-DHAVE_PTHREAD=1 \
|
||||
-fvisibility=hidden \
|
||||
-Wno-sign-compare
|
||||
|
@@ -31,7 +31,8 @@ because compatibility contexts are not supported.
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
TBD
|
||||
2371b8e210ccd19f61dd94b6664d612e5a479ba7d431a074512d87633bd6aeb4 mesa-10.5.3.tar.gz
|
||||
8701ee1be4f5c03238f5e63c1a9bd4cc03a2f6c0155ed42a1ae7d58f18912ba2 mesa-10.5.3.tar.xz
|
||||
</pre>
|
||||
|
||||
|
||||
|
124
docs/relnotes/10.5.4.html
Normal file
124
docs/relnotes/10.5.4.html
Normal file
@@ -0,0 +1,124 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1>The Mesa 3D Graphics Library</h1>
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.5.4 Release Notes / April 24, 2015</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.5.4 is a bug fix release which fixes bugs found since the 10.5.3 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.5.4 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
TBD
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=69226">Bug 69226</a> - Cannot enable basic shaders with Second Life aborts attempt</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71591">Bug 71591</a> - Second Life shaders fail to compile (extension declared in middle of shader)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=81025">Bug 81025</a> - [IVB/BYT Bisected]Piglit spec_ARB_draw_indirect_arb_draw_indirect-draw-elements-prim-restart-ugly fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89457">Bug 89457</a> - [BSW Bisected]ogles3conform ES3-CTS.gtf.GL3Tests.shadow.shadow_execution_vert fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89957">Bug 89957</a> - vm protection faults in piglit lest: texsubimage cube_map_array pbo</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Brian Paul (1):</p>
|
||||
<ul>
|
||||
<li>glsl: rewrite glsl_type::record_key_hash() to avoid buffer overflow</li>
|
||||
</ul>
|
||||
|
||||
<p>Dave Airlie (2):</p>
|
||||
<ul>
|
||||
<li>st/mesa: convert sub image for cube map arrays to 2d arrays for upload</li>
|
||||
<li>st/mesa: align cube map arrays layers</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (11):</p>
|
||||
<ul>
|
||||
<li>docs: Add 256 sums for the 10.5.3 release</li>
|
||||
<li>radeonsi: remove unused si_dump_key()</li>
|
||||
<li>android: use LOCAL_SHARED_LIBRARIES over TARGET_OUT_HEADERS</li>
|
||||
<li>android: add $(mesa_top)/src include to the whole of mesa</li>
|
||||
<li>android: egl: add libsync_cflags to the build</li>
|
||||
<li>android: dri/common: conditionally include drm_cflags/set __NOT_HAVE_DRM_H</li>
|
||||
<li>android: add HAVE__BUILTIN_* and HAVE_FUNC_ATTRIBUTE_* defines</li>
|
||||
<li>android: add $(mesa_top)/src/mesa/main to the includes list</li>
|
||||
<li>android: dri: link against libmesa_util</li>
|
||||
<li>android: mesa: fix the path of the SSE4_1 optimisations</li>
|
||||
<li>Update version to 10.5.4</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (1):</p>
|
||||
<ul>
|
||||
<li>nir: Fix typo in "ushr by 0" algebraic replacement</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (2):</p>
|
||||
<ul>
|
||||
<li>i965: Fix software primitive restart with indirect draws.</li>
|
||||
<li>drirc: Add "Second Life" quirk (allow_glsl_extension_directive_midshader).</li>
|
||||
</ul>
|
||||
|
||||
<p>Kristian Høgsberg (1):</p>
|
||||
<ul>
|
||||
<li>i965: Rewrite ir_tex to ir_txl with lod 0 for vertex shaders</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (2):</p>
|
||||
<ul>
|
||||
<li>glsl_to_tgsi: fix out-of-bounds constant access and crash for uniforms</li>
|
||||
<li>glsl_to_tgsi: don't use a potentially-undefined immediate for ir_query_levels</li>
|
||||
</ul>
|
||||
|
||||
<p>Mathias Froehlich (1):</p>
|
||||
<ul>
|
||||
<li>i965: Flush batchbuffer containing the query on glQueryCounter.</li>
|
||||
</ul>
|
||||
|
||||
<p>Mauro Rossi (2):</p>
|
||||
<ul>
|
||||
<li>android: mesa: generate the format_{un,}pack.[ch] sources</li>
|
||||
<li>android: add inital NIR build</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -40,12 +40,18 @@ LOCAL_C_INCLUDES := \
|
||||
$(MESA_TOP)/src/mapi \
|
||||
$(MESA_TOP)/src/egl/main \
|
||||
$(MESA_TOP)/src/loader \
|
||||
$(TARGET_OUT_HEADERS)/libdrm \
|
||||
$(DRM_GRALLOC_TOP)
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := \
|
||||
libmesa_loader
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libdrm
|
||||
|
||||
ifeq ($(shell echo "$(MESA_ANDROID_VERSION) >= 4.2" | bc),1)
|
||||
LOCAL_SHARED_LIBRARIES += \
|
||||
libsync
|
||||
endif
|
||||
|
||||
LOCAL_MODULE := libmesa_egl_dri2
|
||||
|
||||
include $(MESA_COMMON_MK)
|
||||
|
@@ -33,8 +33,7 @@ LOCAL_SRC_FILES := \
|
||||
$(VL_STUB_SOURCES)
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(GALLIUM_TOP)/auxiliary/util \
|
||||
$(MESA_TOP)/src
|
||||
$(GALLIUM_TOP)/auxiliary/util
|
||||
|
||||
LOCAL_MODULE := libmesa_gallium
|
||||
|
||||
|
@@ -34,10 +34,9 @@ LOCAL_CFLAGS := \
|
||||
-Wno-packed-bitfield-compat
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(LOCAL_PATH)/ir3 \
|
||||
$(TARGET_OUT_HEADERS)/libdrm \
|
||||
$(TARGET_OUT_HEADERS)/freedreno
|
||||
$(LOCAL_PATH)/ir3
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libdrm libdrm_freedreno
|
||||
LOCAL_MODULE := libmesa_pipe_freedreno
|
||||
|
||||
include $(GALLIUM_COMMON_MK)
|
||||
|
@@ -36,9 +36,7 @@ LOCAL_SRC_FILES := \
|
||||
$(NVC0_CODEGEN_SOURCES) \
|
||||
$(NVC0_C_SOURCES)
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(TARGET_OUT_HEADERS)/libdrm
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libdrm libdrm_nouveau
|
||||
LOCAL_MODULE := libmesa_pipe_nouveau
|
||||
|
||||
include external/stlport/libstlport.mk
|
||||
|
@@ -33,9 +33,10 @@ LOCAL_SRC_FILES := $(C_SOURCES)
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(MESA_TOP)/src/mapi \
|
||||
$(MESA_TOP)/src/glsl \
|
||||
$(MESA_TOP)/src/mesa \
|
||||
$(TARGET_OUT_HEADERS)/libdrm
|
||||
$(MESA_TOP)/src/mesa
|
||||
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libdrm libdrm_radeon
|
||||
LOCAL_MODULE := libmesa_pipe_r300
|
||||
|
||||
include $(GALLIUM_COMMON_MK)
|
||||
|
@@ -30,8 +30,7 @@ include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := $(C_SOURCES) $(CXX_SOURCES)
|
||||
|
||||
LOCAL_C_INCLUDES := $(TARGET_OUT_HEADERS)/libdrm
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libdrm libdrm_radeon
|
||||
LOCAL_MODULE := libmesa_pipe_r600
|
||||
|
||||
include external/stlport/libstlport.mk
|
||||
|
@@ -30,8 +30,7 @@ include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := $(C_SOURCES)
|
||||
|
||||
LOCAL_C_INCLUDES := $(TARGET_OUT_HEADERS)/libdrm
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libdrm libdrm_radeon
|
||||
LOCAL_MODULE := libmesa_pipe_radeon
|
||||
|
||||
include $(GALLIUM_COMMON_MK)
|
||||
|
@@ -30,8 +30,7 @@ include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := $(C_SOURCES)
|
||||
|
||||
LOCAL_C_INCLUDES := $(TARGET_OUT_HEADERS)/libdrm
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libdrm libdrm_radeon
|
||||
LOCAL_MODULE := libmesa_pipe_radeonsi
|
||||
|
||||
include $(GALLIUM_COMMON_MK)
|
||||
|
@@ -2741,43 +2741,6 @@ static int si_generate_gs_copy_shader(struct si_screen *sscreen,
|
||||
return r;
|
||||
}
|
||||
|
||||
static void si_dump_key(unsigned shader, union si_shader_key *key)
|
||||
{
|
||||
int i;
|
||||
|
||||
fprintf(stderr, "SHADER KEY\n");
|
||||
|
||||
switch (shader) {
|
||||
case PIPE_SHADER_VERTEX:
|
||||
fprintf(stderr, " instance_divisors = {");
|
||||
for (i = 0; i < Elements(key->vs.instance_divisors); i++)
|
||||
fprintf(stderr, !i ? "%u" : ", %u",
|
||||
key->vs.instance_divisors[i]);
|
||||
fprintf(stderr, "}\n");
|
||||
|
||||
if (key->vs.as_es)
|
||||
fprintf(stderr, " gs_used_inputs = 0x%"PRIx64"\n",
|
||||
key->vs.gs_used_inputs);
|
||||
fprintf(stderr, " as_es = %u\n", key->vs.as_es);
|
||||
break;
|
||||
|
||||
case PIPE_SHADER_GEOMETRY:
|
||||
break;
|
||||
|
||||
case PIPE_SHADER_FRAGMENT:
|
||||
fprintf(stderr, " export_16bpc = 0x%X\n", key->ps.export_16bpc);
|
||||
fprintf(stderr, " last_cbuf = %u\n", key->ps.last_cbuf);
|
||||
fprintf(stderr, " color_two_side = %u\n", key->ps.color_two_side);
|
||||
fprintf(stderr, " alpha_func = %u\n", key->ps.alpha_func);
|
||||
fprintf(stderr, " alpha_to_one = %u\n", key->ps.alpha_to_one);
|
||||
fprintf(stderr, " poly_stipple = %u\n", key->ps.poly_stipple);
|
||||
break;
|
||||
|
||||
default:
|
||||
assert(0);
|
||||
}
|
||||
}
|
||||
|
||||
int si_shader_create(struct si_screen *sscreen, LLVMTargetMachineRef tm,
|
||||
struct si_shader *shader)
|
||||
{
|
||||
|
@@ -27,10 +27,7 @@ include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := $(C_SOURCES)
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(TARGET_OUT_HEADERS)/libdrm \
|
||||
$(TARGET_OUT_HEADERS)/freedreno
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libdrm libdrm_freedreno
|
||||
LOCAL_MODULE := libmesa_winsys_freedreno
|
||||
|
||||
include $(GALLIUM_COMMON_MK)
|
||||
|
@@ -30,8 +30,7 @@ include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := $(C_SOURCES)
|
||||
|
||||
LOCAL_C_INCLUDES := $(TARGET_OUT_HEADERS)/libdrm
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libdrm libdrm_intel
|
||||
LOCAL_MODULE := libmesa_winsys_i915
|
||||
|
||||
include $(GALLIUM_COMMON_MK)
|
||||
|
@@ -29,8 +29,7 @@ include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := $(C_SOURCES)
|
||||
|
||||
LOCAL_C_INCLUDES := $(TARGET_OUT_HEADERS)/libdrm
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libdrm libdrm_intel
|
||||
LOCAL_MODULE := libmesa_winsys_intel
|
||||
|
||||
include $(GALLIUM_COMMON_MK)
|
||||
|
@@ -30,8 +30,7 @@ include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := $(C_SOURCES)
|
||||
|
||||
LOCAL_C_INCLUDES := $(TARGET_OUT_HEADERS)/libdrm
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libdrm libdrm_nouveau
|
||||
LOCAL_MODULE := libmesa_winsys_nouveau
|
||||
|
||||
include $(GALLIUM_COMMON_MK)
|
||||
|
@@ -30,8 +30,7 @@ include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := $(C_SOURCES)
|
||||
|
||||
LOCAL_C_INCLUDES := $(TARGET_OUT_HEADERS)/libdrm
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libdrm libdrm_radeon
|
||||
LOCAL_MODULE := libmesa_winsys_radeon
|
||||
|
||||
include $(GALLIUM_COMMON_MK)
|
||||
|
@@ -34,9 +34,9 @@ LOCAL_CFLAGS := -D_FILE_OFFSET_BITS=64
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(GALLIUM_TOP)/drivers/svga \
|
||||
$(GALLIUM_TOP)/drivers/svga/include \
|
||||
$(TARGET_OUT_HEADERS)/libdrm
|
||||
$(GALLIUM_TOP)/drivers/svga/include
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libdrm
|
||||
LOCAL_MODULE := libmesa_winsys_svga
|
||||
|
||||
include $(GALLIUM_COMMON_MK)
|
||||
|
@@ -33,11 +33,23 @@ sources := \
|
||||
glsl_lexer.cpp \
|
||||
glsl_parser.cpp \
|
||||
glcpp/glcpp-lex.c \
|
||||
glcpp/glcpp-parse.c
|
||||
glcpp/glcpp-parse.c \
|
||||
nir/nir_constant_expressions.c \
|
||||
nir/nir_opcodes.c \
|
||||
nir/nir_opcodes.h \
|
||||
nir/nir_opt_algebraic.c
|
||||
|
||||
LOCAL_SRC_FILES := $(filter-out $(sources), $(LOCAL_SRC_FILES))
|
||||
|
||||
LOCAL_C_INCLUDES += $(intermediates) $(intermediates)/glcpp $(MESA_TOP)/src/glsl/glcpp
|
||||
LOCAL_C_INCLUDES += \
|
||||
$(intermediates) \
|
||||
$(intermediates)/glcpp \
|
||||
$(intermediates)/nir \
|
||||
$(MESA_TOP)/src/glsl/glcpp \
|
||||
$(MESA_TOP)/src/glsl/nir
|
||||
|
||||
LOCAL_EXPORT_C_INCLUDE_DIRS += \
|
||||
$(intermediates)/nir
|
||||
|
||||
sources := $(addprefix $(intermediates)/, $(sources))
|
||||
LOCAL_GENERATED_SOURCES += $(sources)
|
||||
@@ -77,3 +89,42 @@ $(intermediates)/glcpp/glcpp-lex.c: $(LOCAL_PATH)/glcpp/glcpp-lex.l
|
||||
|
||||
$(intermediates)/glcpp/glcpp-parse.c: $(LOCAL_PATH)/glcpp/glcpp-parse.y
|
||||
$(call glsl_local-y-to-c-and-h)
|
||||
|
||||
nir_constant_expressions_gen := $(LOCAL_PATH)/nir/nir_constant_expressions.py
|
||||
nir_constant_expressions_deps := \
|
||||
$(LOCAL_PATH)/nir/nir_opcodes.py \
|
||||
$(LOCAL_PATH)/nir/nir_constant_expressions.py \
|
||||
$(LOCAL_PATH)/nir/nir_constant_expressions.h
|
||||
|
||||
$(intermediates)/nir/nir_constant_expressions.c: $(nir_constant_expressions_deps)
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) $(MESA_PYTHON2) $(nir_constant_expressions_gen) $< > $@
|
||||
|
||||
nir_opcodes_h_gen := $(LOCAL_PATH)/nir/nir_opcodes_h.py
|
||||
nir_opcodes_h_deps := \
|
||||
$(LOCAL_PATH)/nir/nir_opcodes.py \
|
||||
$(LOCAL_PATH)/nir/nir_opcodes_h.py
|
||||
|
||||
$(intermediates)/nir/nir_opcodes.h: $(nir_opcodes_h_deps)
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) $(MESA_PYTHON2) $(nir_opcodes_h_gen) $< > $@
|
||||
|
||||
$(LOCAL_PATH)/nir/nir.h: $(intermediates)/nir/nir_opcodes.h
|
||||
|
||||
nir_opcodes_c_gen := $(LOCAL_PATH)/nir/nir_opcodes_c.py
|
||||
nir_opcodes_c_deps := \
|
||||
$(LOCAL_PATH)/nir/nir_opcodes.py \
|
||||
$(LOCAL_PATH)/nir/nir_opcodes_c.py
|
||||
|
||||
$(intermediates)/nir/nir_opcodes.c: $(nir_opcodes_c_deps)
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) $(MESA_PYTHON2) $(nir_opcodes_c_gen) $< > $@
|
||||
|
||||
nir_opt_algebraic_gen := $(LOCAL_PATH)/nir/nir_opt_algebraic.py
|
||||
nir_opt_algebraic_deps := \
|
||||
$(LOCAL_PATH)/nir/nir_opt_algebraic.py \
|
||||
$(LOCAL_PATH)/nir/nir_algebraic.py
|
||||
|
||||
$(intermediates)/nir/nir_opt_algebraic.c: $(nir_opt_algebraic_deps)
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) $(MESA_PYTHON2) $(nir_opt_algebraic_gen) $< > $@
|
||||
|
@@ -35,10 +35,10 @@ include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
$(LIBGLCPP_FILES) \
|
||||
$(LIBGLSL_FILES)
|
||||
$(LIBGLSL_FILES) \
|
||||
$(NIR_FILES)
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(MESA_TOP)/src \
|
||||
$(MESA_TOP)/src/mapi \
|
||||
$(MESA_TOP)/src/mesa
|
||||
|
||||
@@ -59,7 +59,6 @@ LOCAL_SRC_FILES := \
|
||||
$(GLSL_COMPILER_CXX_FILES)
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(MESA_TOP)/src \
|
||||
$(MESA_TOP)/src/mapi \
|
||||
$(MESA_TOP)/src/mesa
|
||||
|
||||
|
@@ -690,24 +690,27 @@ glsl_type::record_key_compare(const void *a, const void *b)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Generate an integer hash value for a glsl_type structure type.
|
||||
*/
|
||||
unsigned
|
||||
glsl_type::record_key_hash(const void *a)
|
||||
{
|
||||
const glsl_type *const key = (glsl_type *) a;
|
||||
char hash_key[128];
|
||||
unsigned size = 0;
|
||||
|
||||
size = snprintf(hash_key, sizeof(hash_key), "%08x", key->length);
|
||||
uintptr_t hash = key->length;
|
||||
unsigned retval;
|
||||
|
||||
for (unsigned i = 0; i < key->length; i++) {
|
||||
if (size >= sizeof(hash_key))
|
||||
break;
|
||||
|
||||
size += snprintf(& hash_key[size], sizeof(hash_key) - size,
|
||||
"%p", (void *) key->fields.structure[i].type);
|
||||
/* casting pointer to uintptr_t */
|
||||
hash = (hash * 13 ) + (uintptr_t) key->fields.structure[i].type;
|
||||
}
|
||||
|
||||
return hash_table_string_hash(& hash_key);
|
||||
if (sizeof(hash) == 8)
|
||||
retval = (hash & 0xffffffff) ^ ((uint64_t) hash >> 32);
|
||||
else
|
||||
retval = hash;
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
|
@@ -101,7 +101,7 @@ optimizations = [
|
||||
(('ishr', 0, a), 0),
|
||||
(('ishr', a, 0), a),
|
||||
(('ushr', 0, a), 0),
|
||||
(('ushr', a, 0), 0),
|
||||
(('ushr', a, 0), a),
|
||||
# Exponential/logarithmic identities
|
||||
(('fexp2', ('flog2', a)), a), # 2^lg2(a) = a
|
||||
(('fexp', ('flog', a)), a), # e^ln(a) = a
|
||||
|
@@ -37,7 +37,7 @@ LOCAL_SRC_FILES := \
|
||||
ifeq ($(MESA_GPU_DRIVERS),swrast)
|
||||
LOCAL_CFLAGS += -D__NOT_HAVE_DRM_H
|
||||
else
|
||||
LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/libdrm
|
||||
LOCAL_SHARED_LIBRARIES := libdrm
|
||||
endif
|
||||
|
||||
LOCAL_MODULE := libmesa_loader
|
||||
|
@@ -34,6 +34,9 @@ sources := \
|
||||
main/enums.c \
|
||||
main/api_exec.c \
|
||||
main/dispatch.h \
|
||||
main/format_pack.c \
|
||||
main/format_unpack.c \
|
||||
main/format_info.h \
|
||||
main/remap_helper.h \
|
||||
main/get_hash.h
|
||||
|
||||
@@ -124,3 +127,21 @@ format_info_deps := \
|
||||
|
||||
$(intermediates)/main/format_info.h: $(format_info_deps)
|
||||
@$(MESA_PYTHON2) $(FORMAT_INFO) $< > $@
|
||||
|
||||
FORMAT_PACK := $(LOCAL_PATH)/main/format_pack.py
|
||||
format_pack_deps := \
|
||||
$(LOCAL_PATH)/main/formats.csv \
|
||||
$(LOCAL_PATH)/main/format_parser.py \
|
||||
$(FORMAT_PACK)
|
||||
|
||||
$(intermediates)/main/format_pack.c: $(format_pack_deps)
|
||||
$(hide) $(MESA_PYTHON2) $(FORMAT_PACK) $< > $@
|
||||
|
||||
FORMAT_UNPACK := $(LOCAL_PATH)/main/format_unpack.py
|
||||
format_unpack_deps := \
|
||||
$(LOCAL_PATH)/main/formats.csv \
|
||||
$(LOCAL_PATH)/main/format_parser.py \
|
||||
$(FORMAT_UNPACK)
|
||||
|
||||
$(intermediates)/main/format_unpack.c: $(format_unpack_deps)
|
||||
$(hide) $(MESA_PYTHON2) $(FORMAT_UNPACK) $< > $@
|
||||
|
@@ -49,8 +49,8 @@ endif # MESA_ENABLE_ASM
|
||||
|
||||
ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
|
||||
LOCAL_SRC_FILES += \
|
||||
$(SRCDIR)main/streaming-load-memcpy.c \
|
||||
$(SRCDIR)main/sse_minmax.c
|
||||
main/streaming-load-memcpy.c \
|
||||
mesa/main/sse_minmax.c
|
||||
LOCAL_CFLAGS := -msse4.1
|
||||
endif
|
||||
|
||||
@@ -61,8 +61,8 @@ endif
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(call intermediates-dir-for STATIC_LIBRARIES,libmesa_program,,) \
|
||||
$(MESA_TOP)/src \
|
||||
$(MESA_TOP)/src/mapi \
|
||||
$(MESA_TOP)/src/mesa/main \
|
||||
$(MESA_TOP)/src/glsl \
|
||||
$(MESA_TOP)/src/gallium/auxiliary
|
||||
|
||||
|
@@ -36,7 +36,6 @@ include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libmesa_glsl_utils
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(MESA_TOP)/src \
|
||||
$(MESA_TOP)/src/glsl \
|
||||
$(MESA_TOP)/src/mapi
|
||||
|
||||
@@ -59,7 +58,6 @@ LOCAL_IS_HOST_MODULE := true
|
||||
LOCAL_CFLAGS := -D_POSIX_C_SOURCE=199309L
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(MESA_TOP)/src \
|
||||
$(MESA_TOP)/src/glsl \
|
||||
$(MESA_TOP)/src/mapi
|
||||
|
||||
|
@@ -53,11 +53,11 @@ endif
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(call intermediates-dir-for STATIC_LIBRARIES,libmesa_program,,) \
|
||||
$(MESA_TOP)/src/gallium/auxiliary \
|
||||
$(MESA_TOP)/src/gallium/include \
|
||||
$(MESA_TOP)/src \
|
||||
$(MESA_TOP)/src/mapi \
|
||||
$(MESA_TOP)/src/mesa/main \
|
||||
$(MESA_TOP)/src/glsl \
|
||||
$(MESA_TOP)/src/mapi
|
||||
$(MESA_TOP)/src/gallium/auxiliary \
|
||||
$(MESA_TOP)/src/gallium/include
|
||||
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := \
|
||||
libmesa_program
|
||||
|
@@ -35,17 +35,16 @@ MESA_DRI_CFLAGS := \
|
||||
-DHAVE_ANDROID_PLATFORM
|
||||
|
||||
MESA_DRI_C_INCLUDES := \
|
||||
$(MESA_TOP)/src \
|
||||
$(call intermediates-dir-for,STATIC_LIBRARIES,libmesa_dri_common) \
|
||||
$(addprefix $(MESA_TOP)/, $(mesa_dri_common_INCLUDES)) \
|
||||
$(TARGET_OUT_HEADERS)/libdrm \
|
||||
external/expat/lib
|
||||
|
||||
MESA_DRI_WHOLE_STATIC_LIBRARIES := \
|
||||
libmesa_glsl \
|
||||
libmesa_megadriver_stub \
|
||||
libmesa_dri_common \
|
||||
libmesa_dricore
|
||||
libmesa_dricore \
|
||||
libmesa_util
|
||||
|
||||
MESA_DRI_SHARED_LIBRARIES := \
|
||||
libcutils \
|
||||
|
@@ -40,6 +40,13 @@ LOCAL_C_INCLUDES := \
|
||||
$(intermediates) \
|
||||
$(MESA_DRI_C_INCLUDES)
|
||||
|
||||
# swrast only
|
||||
ifeq ($(MESA_GPU_DRIVERS),swrast)
|
||||
LOCAL_CFLAGS := -D__NOT_HAVE_DRM_H
|
||||
else
|
||||
LOCAL_SHARED_LIBRARIES := libdrm
|
||||
endif
|
||||
|
||||
LOCAL_SRC_FILES := $(DRI_COMMON_FILES)
|
||||
|
||||
LOCAL_GENERATED_SOURCES := \
|
||||
@@ -99,6 +106,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(MESA_DRI_C_INCLUDES)
|
||||
|
||||
# swrast only
|
||||
ifeq ($(MESA_GPU_DRIVERS),swrast)
|
||||
LOCAL_CFLAGS := -D__NOT_HAVE_DRM_H
|
||||
else
|
||||
LOCAL_SHARED_LIBRARIES := libdrm
|
||||
endif
|
||||
|
||||
LOCAL_SRC_FILES := $(megadriver_stub_FILES)
|
||||
|
||||
include $(MESA_COMMON_MK)
|
||||
|
@@ -91,5 +91,9 @@ TODO: document the other workarounds.
|
||||
<application name="Dead Island" executable="DeadIslandGame">
|
||||
<option name="allow_glsl_extension_directive_midshader" value="true" />
|
||||
</application>
|
||||
|
||||
<application name="Second Life" executable="do-not-directly-run-secondlife-bin">
|
||||
<option name="allow_glsl_extension_directive_midshader" value="true" />
|
||||
</application>
|
||||
</device>
|
||||
</driconf>
|
||||
|
@@ -1683,6 +1683,15 @@ fs_visitor::emit_texture_gen7(ir_texture_opcode op, fs_reg dst,
|
||||
offset_value.file != BAD_FILE && offset_value.file != IMM;
|
||||
bool coordinate_done = false;
|
||||
|
||||
/* The sampler can only meaningfully compute LOD for fragment shader
|
||||
* messages. For all other stages, we change the opcode to ir_txl and
|
||||
* hardcode the LOD to 0.
|
||||
*/
|
||||
if (stage != MESA_SHADER_FRAGMENT && op == ir_tex) {
|
||||
op = ir_txl;
|
||||
lod = fs_reg(0.0f);
|
||||
}
|
||||
|
||||
/* Set up the LOD info */
|
||||
switch (op) {
|
||||
case ir_tex:
|
||||
|
@@ -476,6 +476,8 @@ brw_query_counter(struct gl_context *ctx, struct gl_query_object *q)
|
||||
drm_intel_bo_unreference(query->bo);
|
||||
query->bo = drm_intel_bo_alloc(brw->bufmgr, "timestamp query", 4096, 4096);
|
||||
brw_write_timestamp(brw, query->bo, 0);
|
||||
|
||||
query->flushed = false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -71,7 +71,6 @@ $(intermediates)/program/lex.yy.c: $(LOCAL_PATH)/program_lexer.l
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(intermediates) \
|
||||
$(MESA_TOP)/src \
|
||||
$(MESA_TOP)/src/mapi \
|
||||
$(MESA_TOP)/src/mesa \
|
||||
$(MESA_TOP)/src/glsl
|
||||
|
@@ -741,6 +741,11 @@ st_TexSubImage(struct gl_context *ctx, GLuint dims,
|
||||
if (gl_target == GL_TEXTURE_CUBE_MAP) {
|
||||
gl_target = GL_TEXTURE_2D;
|
||||
}
|
||||
/* TexSubImage can specify subsets of cube map array faces
|
||||
* so we need to upload via 2D array instead */
|
||||
if (gl_target == GL_TEXTURE_CUBE_MAP_ARRAY) {
|
||||
gl_target = GL_TEXTURE_2D_ARRAY;
|
||||
}
|
||||
|
||||
/* Initialize the source texture description. */
|
||||
memset(&src_templ, 0, sizeof(src_templ));
|
||||
|
@@ -2860,7 +2860,7 @@ glsl_to_tgsi_visitor::visit(ir_texture *ir)
|
||||
break;
|
||||
case ir_query_levels:
|
||||
opcode = TGSI_OPCODE_TXQ;
|
||||
lod_info = st_src_reg(PROGRAM_IMMEDIATE, 0, GLSL_TYPE_INT);
|
||||
lod_info = undef_src;
|
||||
levels_src = get_temp(ir->type);
|
||||
break;
|
||||
case ir_txf:
|
||||
@@ -4152,6 +4152,7 @@ struct st_translate {
|
||||
|
||||
struct ureg_dst arrays[MAX_ARRAYS];
|
||||
struct ureg_src *constants;
|
||||
int num_constants;
|
||||
struct ureg_src *immediates;
|
||||
struct ureg_dst outputs[PIPE_MAX_SHADER_OUTPUTS];
|
||||
struct ureg_src inputs[PIPE_MAX_SHADER_INPUTS];
|
||||
@@ -4352,7 +4353,7 @@ src_register(struct st_translate *t, const struct st_src_reg *reg)
|
||||
{
|
||||
switch(reg->file) {
|
||||
case PROGRAM_UNDEFINED:
|
||||
return ureg_src_undef();
|
||||
return ureg_imm4f(t->ureg, 0, 0, 0, 0);
|
||||
|
||||
case PROGRAM_TEMPORARY:
|
||||
case PROGRAM_ARRAY:
|
||||
@@ -4360,15 +4361,15 @@ src_register(struct st_translate *t, const struct st_src_reg *reg)
|
||||
|
||||
case PROGRAM_UNIFORM:
|
||||
assert(reg->index >= 0);
|
||||
return t->constants[reg->index];
|
||||
return reg->index < t->num_constants ?
|
||||
t->constants[reg->index] : ureg_imm4f(t->ureg, 0, 0, 0, 0);
|
||||
case PROGRAM_STATE_VAR:
|
||||
case PROGRAM_CONSTANT: /* ie, immediate */
|
||||
if (reg->has_index2)
|
||||
return ureg_src_register(TGSI_FILE_CONSTANT, reg->index);
|
||||
else if (reg->index < 0)
|
||||
return ureg_DECL_constant(t->ureg, 0);
|
||||
else
|
||||
return t->constants[reg->index];
|
||||
return reg->index >= 0 && reg->index < t->num_constants ?
|
||||
t->constants[reg->index] : ureg_imm4f(t->ureg, 0, 0, 0, 0);
|
||||
|
||||
case PROGRAM_IMMEDIATE:
|
||||
return t->immediates[reg->index];
|
||||
@@ -4550,10 +4551,8 @@ compile_tgsi_instruction(struct st_translate *t,
|
||||
inst->saturate,
|
||||
clamp_dst_color_output);
|
||||
|
||||
for (i = 0; i < num_src; i++) {
|
||||
assert(inst->src[i].file != PROGRAM_UNDEFINED);
|
||||
for (i = 0; i < num_src; i++)
|
||||
src[i] = translate_src(t, &inst->src[i]);
|
||||
}
|
||||
|
||||
switch(inst->op) {
|
||||
case TGSI_OPCODE_BGNLOOP:
|
||||
@@ -5083,6 +5082,7 @@ st_translate_program(
|
||||
ret = PIPE_ERROR_OUT_OF_MEMORY;
|
||||
goto out;
|
||||
}
|
||||
t->num_constants = proginfo->Parameters->NumParameters;
|
||||
|
||||
for (i = 0; i < proginfo->Parameters->NumParameters; i++) {
|
||||
switch (proginfo->Parameters->Parameters[i].Type) {
|
||||
@@ -5182,6 +5182,7 @@ out:
|
||||
free(t->insn);
|
||||
free(t->labels);
|
||||
free(t->constants);
|
||||
t->num_constants = 0;
|
||||
free(t->immediates);
|
||||
|
||||
if (t->error) {
|
||||
|
@@ -177,7 +177,7 @@ st_gl_texture_dims_to_pipe_dims(GLenum texture,
|
||||
*widthOut = widthIn;
|
||||
*heightOut = heightIn;
|
||||
*depthOut = 1;
|
||||
*layersOut = depthIn;
|
||||
*layersOut = util_align_npot(depthIn, 6);
|
||||
break;
|
||||
default:
|
||||
assert(0 && "Unexpected texture in st_gl_texture_dims_to_pipe_dims()");
|
||||
|
@@ -167,6 +167,8 @@ vbo_sw_primitive_restart(struct gl_context *ctx,
|
||||
struct gl_buffer_object *indirect)
|
||||
{
|
||||
GLuint prim_num;
|
||||
struct _mesa_prim new_prim;
|
||||
struct _mesa_index_buffer new_ib;
|
||||
struct sub_primitive *sub_prims;
|
||||
struct sub_primitive *sub_prim;
|
||||
GLuint num_sub_prims;
|
||||
@@ -182,8 +184,6 @@ vbo_sw_primitive_restart(struct gl_context *ctx,
|
||||
|
||||
/* If there is an indirect buffer, map it and extract the draw params */
|
||||
if (indirect && prims[0].is_indirect) {
|
||||
struct _mesa_prim new_prim = *prims;
|
||||
struct _mesa_index_buffer new_ib = *ib;
|
||||
const uint32_t *indirect_params;
|
||||
if (!ctx->Driver.MapBufferRange(ctx, 0, indirect->Size, GL_MAP_READ_BIT,
|
||||
indirect, MAP_INTERNAL)) {
|
||||
@@ -195,6 +195,7 @@ vbo_sw_primitive_restart(struct gl_context *ctx,
|
||||
}
|
||||
|
||||
assert(nr_prims == 1);
|
||||
new_prim = prims[0];
|
||||
indirect_params = (const uint32_t *)
|
||||
ADD_POINTERS(indirect->Mappings[MAP_INTERNAL].Pointer,
|
||||
new_prim.indirect_offset);
|
||||
@@ -206,6 +207,7 @@ vbo_sw_primitive_restart(struct gl_context *ctx,
|
||||
new_prim.basevertex = indirect_params[3];
|
||||
new_prim.base_instance = indirect_params[4];
|
||||
|
||||
new_ib = *ib;
|
||||
new_ib.count = new_prim.count;
|
||||
|
||||
prims = &new_prim;
|
||||
|
@@ -35,8 +35,7 @@ LOCAL_SRC_FILES := \
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(MESA_TOP)/src/mesa \
|
||||
$(MESA_TOP)/src/mapi \
|
||||
$(MESA_TOP)/src
|
||||
$(MESA_TOP)/src/mapi
|
||||
|
||||
LOCAL_MODULE := libmesa_util
|
||||
|
||||
@@ -75,8 +74,7 @@ LOCAL_SRC_FILES := \
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(MESA_TOP)/src/mesa \
|
||||
$(MESA_TOP)/src/mapi \
|
||||
$(MESA_TOP)/src
|
||||
$(MESA_TOP)/src/mapi
|
||||
|
||||
LOCAL_MODULE := libmesa_util
|
||||
|
||||
|
Reference in New Issue
Block a user