Re: [Mesa-dev] [PATCH1/2] radeonsi: add support for Mullins asics.
On Thu, May 01, 2014 at 01:27:58PM -0400, Samuel Li wrote: > v2: name defaults to kabini for older llvm > > Signed-off-by: Samuel Li > Signed-off-by: Alex Deucher > Signed-off-by: Leo Liu > Reviewed-by: Marek Olšák > > --- > src/gallium/drivers/radeon/r600_pipe_common.c | 7 +++ > src/gallium/drivers/radeonsi/si_state.c | 2 ++ > src/gallium/winsys/radeon/drm/radeon_drm_winsys.c | 1 + > src/gallium/winsys/radeon/drm/radeon_winsys.h | 1 + > 4 files changed, 11 insertions(+) > > diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c > b/src/gallium/drivers/radeon/r600_pipe_common.c > index 7508865..607521d 100644 > --- a/src/gallium/drivers/radeon/r600_pipe_common.c > +++ b/src/gallium/drivers/radeon/r600_pipe_common.c > @@ -293,6 +293,7 @@ static const char* r600_get_name(struct pipe_screen* > pscreen) > case CHIP_KAVERI: return "AMD KAVERI"; > case CHIP_KABINI: return "AMD KABINI"; > case CHIP_HAWAII: return "AMD HAWAII"; > + case CHIP_MULLINS: return "AMD MULLINS"; > default: return "AMD unknown"; > } > } > @@ -410,6 +411,12 @@ const char *r600_get_llvm_processor_name(enum > radeon_family family) > case CHIP_KABINI: return "kabini"; > case CHIP_KAVERI: return "kaveri"; > case CHIP_HAWAII: return "hawaii"; > + case CHIP_MULLINS: > +#if HAVE_LLVM >= 0x305 The convention is to leave the leading zero when specifying LLVM version e.g: #if HAVE_LLVM >= 0x0305 With that fixed: Reviewed-by: Tom Stellard > + return "mullins"; > +#else > + return "kabini"; > +#endif > default: return ""; > #endif > } > diff --git a/src/gallium/drivers/radeonsi/si_state.c > b/src/gallium/drivers/radeonsi/si_state.c > index 80f54e2..6d5408b 100644 > --- a/src/gallium/drivers/radeonsi/si_state.c > +++ b/src/gallium/drivers/radeonsi/si_state.c > @@ -3101,6 +3101,8 @@ void si_init_config(struct si_context *sctx) > /* XXX todo */ > case CHIP_KABINI: > /* XXX todo */ > + case CHIP_MULLINS: > + /* XXX todo */ > default: > si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, > 0x); > si_pm4_set_reg(pm4, R_028354_PA_SC_RASTER_CONFIG_1, > 0x); > diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c > b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c > index b53beba..ca34359 100644 > --- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c > +++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c > @@ -276,6 +276,7 @@ static boolean do_winsys_init(struct radeon_drm_winsys > *ws) > case CHIP_KAVERI: > case CHIP_KABINI: > case CHIP_HAWAII: > +case CHIP_MULLINS: > ws->info.chip_class = CIK; > break; > } > diff --git a/src/gallium/winsys/radeon/drm/radeon_winsys.h > b/src/gallium/winsys/radeon/drm/radeon_winsys.h > index fe0617b..1c0c825 100644 > --- a/src/gallium/winsys/radeon/drm/radeon_winsys.h > +++ b/src/gallium/winsys/radeon/drm/radeon_winsys.h > @@ -130,6 +130,7 @@ enum radeon_family { > CHIP_KAVERI, > CHIP_KABINI, > CHIP_HAWAII, > +CHIP_MULLINS, > CHIP_LAST, > }; > > -- > 1.9.1 > > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] i965: Set miptree target field when creating from a BO.
Reviewed-by: Jordan Justen On Thu, May 1, 2014 at 11:48 PM, Kenneth Graunke wrote: > Prior to commit 8435b60a3577d2d905eae189cd7e770500177e99, the region > equivalent of this function called intel_miptree_create_layout, which > set mt->target to target. With that commit, it no longer copied target. > > Piglit's ext_image_dma_buf_import-sample_[xa]rgb tests would then > hit an assertion failure, where image->TexObject->Target was > GL_TEXTURE_EXTERNAL_OES, and mt->target was GL_TEXTURE_2D. > > Copying the target fixes this assertion failure. > > Cc: Eric Anholt > Signed-off-by: Kenneth Graunke > --- > src/mesa/drivers/dri/i965/intel_tex_image.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/src/mesa/drivers/dri/i965/intel_tex_image.c > b/src/mesa/drivers/dri/i965/intel_tex_image.c > index fbb799b..4eb024f 100644 > --- a/src/mesa/drivers/dri/i965/intel_tex_image.c > +++ b/src/mesa/drivers/dri/i965/intel_tex_image.c > @@ -234,6 +234,7 @@ intel_set_texture_image_bo(struct gl_context *ctx, > 0, width, height, pitch); > if (intel_image->mt == NULL) > return; > + intel_image->mt->target = target; > intel_image->mt->total_width = width; > intel_image->mt->total_height = height; > intel_image->mt->level[0].slice[0].x_offset = tile_x; > -- > 1.9.2 > > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 3/9] st/vega: Prevent signed/unsigned comparisons.
From: José Fonseca --- src/gallium/state_trackers/vega/vg_translate.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/gallium/state_trackers/vega/vg_translate.c b/src/gallium/state_trackers/vega/vg_translate.c index 7b3df27..4aad899 100644 --- a/src/gallium/state_trackers/vega/vg_translate.c +++ b/src/gallium/state_trackers/vega/vg_translate.c @@ -34,7 +34,7 @@ void _vega_pack_rgba_span_float(struct vg_context *ctx, VGImageFormat dstFormat, void *dstAddr) { - VGint i; + VGuint i; switch (dstFormat) { case VG_sRGBX_: { @@ -458,7 +458,7 @@ void _vega_unpack_float_span_rgba(struct vg_context *ctx, VGImageFormat dataFormat, VGfloat rgba[][4]) { - VGint i; + VGuint i; union util_color uc; switch (dataFormat) { @@ -681,7 +681,7 @@ void _vega_unpack_float_span_rgba(struct vg_context *ctx, src += offset; for (i = 0; i < n; i += 8) { VGfloat clr[4]; - VGint j; + VGuint j; for (j = 0; j < 8 && j < n ; ++j) { VGint shift = j; clr[0] = (((*src) & (1<> shift); @@ -705,7 +705,7 @@ void _vega_unpack_float_span_rgba(struct vg_context *ctx, src += offset; for (i = 0; i < n; i += 8) { VGfloat clr[4]; - VGint j; + VGuint j; for (j = 0; j < 8 && j < n ; ++j) { VGint shift = j; clr[0] = 0.f; @@ -728,7 +728,7 @@ void _vega_unpack_float_span_rgba(struct vg_context *ctx, src += offset/2; for (i = 0; i < n; i += 2) { VGfloat clr[4]; - VGint j; + VGuint j; for (j = 0; j < n && j < 2; ++j) { VGint bitter, shift; if (j == 0) { -- 1.9.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 2/9] scons: Adjust the warnings for VS.
From: José Fonseca Silence insignificant warnings so significant warnings have a chance to stand out. The only abundant warning that's not silenced here is "C4018: signed/unsigned mismatch", as it could hide security issues, so it's better to actually fix the code. --- scons/gallium.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scons/gallium.py b/scons/gallium.py index d13d0e6..ca317b0 100755 --- a/scons/gallium.py +++ b/scons/gallium.py @@ -455,7 +455,9 @@ def generate(env): ] ccflags += [ '/W3', # warning level -#'/Wp64', # enable 64 bit porting warnings +'/wd4244', # conversion from 'type1' to 'type2', possible loss of data +'/wd4305', # truncation from 'type1' to 'type2' +'/wd4800', # forcing value to bool 'true' or 'false' (performance warning) '/wd4996', # disable deprecated POSIX name warnings ] if env['machine'] == 'x86': -- 1.9.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 1/9] util/u_debug_flush: Use util_snprintf.
From: José Fonseca --- src/gallium/auxiliary/util/u_debug_flush.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gallium/auxiliary/util/u_debug_flush.c b/src/gallium/auxiliary/util/u_debug_flush.c index 9cf70db..fdb248c 100644 --- a/src/gallium/auxiliary/util/u_debug_flush.c +++ b/src/gallium/auxiliary/util/u_debug_flush.c @@ -46,6 +46,7 @@ #include "util/u_hash_table.h" #include "util/u_double_list.h" #include "util/u_inlines.h" +#include "util/u_string.h" #include "os/os_thread.h" #include @@ -320,8 +321,8 @@ debug_flush_might_flush_cb(void *key, void *value, void *data) const char *reason = (const char *) data; char message[80]; - snprintf(message, sizeof(message), -"%s referenced mapped buffer detected.", reason); + util_snprintf(message, sizeof(message), + "%s referenced mapped buffer detected.", reason); pipe_mutex_lock(fbuf->mutex); if (fbuf->mapped_sync) { -- 1.9.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 5/9] scons: Don't restrict MSVC_VERSION values.
From: José Fonseca Saves the trouble of continuously needing to update. --- common.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common.py b/common.py index d6e6215..1d2d586 100644 --- a/common.py +++ b/common.py @@ -101,4 +101,4 @@ def AddOptions(opts): opts.Add(BoolOption('quiet', 'DEPRECATED: profile build', 'yes')) opts.Add(BoolOption('texture_float', 'enable floating-point textures and renderbuffers', 'no')) if host_platform == 'windows': - opts.Add(EnumOption('MSVC_VERSION', 'MS Visual C++ version', None, allowed_values=('7.1', '8.0', '9.0', '10.0', '11.0', '12.0'))) + opts.Add('MSVC_VERSION', 'Microsoft Visual C/C++ version') -- 1.9.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 7/9] egl: Don't attempt to redefine stdint.h types with VS 2013.
From: José Fonseca Just include stdint.h. --- src/egl/main/eglcompiler.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/egl/main/eglcompiler.h b/src/egl/main/eglcompiler.h index 53dab54..5ea83d6 100644 --- a/src/egl/main/eglcompiler.h +++ b/src/egl/main/eglcompiler.h @@ -37,7 +37,8 @@ /** * Get standard integer types */ -#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) +#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \ +(defined(_MSC_VER) && _MSC_VER >= 1600) # include #elif defined(_MSC_VER) typedef __int8 int8_t; -- 1.9.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 6/9] scons: Don't use bundled C99 headers for VS 2013.
From: José Fonseca Use the ones provided by the compiler instead. NOTE: External trees should be updated to not include '#include/c99' directory directly, but rather rely on scons/gallium.py to do the right thing. --- SConstruct | 6 -- scons/gallium.py | 6 ++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/SConstruct b/SConstruct index 0e10818..ef71ab6 100644 --- a/SConstruct +++ b/SConstruct @@ -80,9 +80,6 @@ env.Append(CPPPATH = [ '#/src/gallium/winsys', ]) -if env['msvc']: -env.Append(CPPPATH = ['#include/c99']) - # for debugging #print env.Dump() @@ -115,9 +112,6 @@ if env['crosscompile'] and not env['embedded']: host_env['hostonly'] = True assert host_env['crosscompile'] == False -if host_env['msvc']: -host_env.Append(CPPPATH = ['#include/c99']) - target_env = env env = host_env Export('env') diff --git a/scons/gallium.py b/scons/gallium.py index ca317b0..5109ebf 100755 --- a/scons/gallium.py +++ b/scons/gallium.py @@ -433,6 +433,12 @@ def generate(env): # See also: # - http://msdn.microsoft.com/en-us/library/19z1t1wy.aspx # - cl /? +if 'MSVC_VERSION' not in env or distutils.version.LooseVersion(env['MSVC_VERSION']) < distutils.version.LooseVersion('12.0'): +# Use bundled stdbool.h and stdint.h headers for older MSVC +# versions. stdint.h was introduced in MSVC 2010, but stdbool.h +# was only introduced in MSVC 2013. +top_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) +env.Append(CPPPATH = [os.path.join(top_dir, 'include/c99')]) if env['build'] == 'debug': ccflags += [ '/Od', # disable optimizations -- 1.9.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 9/9] util: Don't attempt to redefine INFINITY/NAN on VS 2013.
From: José Fonseca There are now provided by VS. --- src/gallium/auxiliary/util/u_math.h | 5 + 1 file changed, 5 insertions(+) diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h index a60e183..2ade64a 100644 --- a/src/gallium/auxiliary/util/u_math.h +++ b/src/gallium/auxiliary/util/u_math.h @@ -138,8 +138,13 @@ roundf(float x) } #endif +#ifndef INFINITY #define INFINITY (DBL_MAX + DBL_MAX) +#endif + +#ifndef NAN #define NAN (INFINITY - INFINITY) +#endif #endif /* _MSC_VER */ -- 1.9.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 4/9] draw: Prevent signed/unsigned comparisons.
From: José Fonseca --- src/gallium/auxiliary/draw/draw_pt_so_emit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/auxiliary/draw/draw_pt_so_emit.c b/src/gallium/auxiliary/draw/draw_pt_so_emit.c index bd49d0a..91e67c0 100644 --- a/src/gallium/auxiliary/draw/draw_pt_so_emit.c +++ b/src/gallium/auxiliary/draw/draw_pt_so_emit.c @@ -162,7 +162,7 @@ static void so_emit_prim(struct pt_so_emit *so, for (i = 0; i < num_vertices; ++i) { const float (*input)[4]; const float *pre_clip_pos = NULL; - int ob; + unsigned ob; input = (const float (*)[4])( (const char *)input_ptr + (indices[i] * input_vertex_stride)); -- 1.9.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 8/9] mesa: VS 2013 does not provide strcasecmp.
From: José Fonseca A define is necessary, like for earlier VS versions. --- src/mesa/main/imports.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h index 17a9bd0..af780b2 100644 --- a/src/mesa/main/imports.h +++ b/src/mesa/main/imports.h @@ -126,7 +126,8 @@ typedef union { GLfloat f; GLint i; GLuint u; } fi_type; #define atanhf(f) ((float) atanh(f)) #endif -#if defined(_MSC_VER) && (_MSC_VER < 1800) /* Not req'd on VS2013 and above */ +#if defined(_MSC_VER) +#if _MSC_VER < 1800 /* Not req'd on VS2013 and above */ static inline float truncf(float x) { return x < 0.0f ? ceilf(x) : floorf(x); } static inline float exp2f(float x) { return powf(2.0f, x); } static inline float log2f(float x) { return logf(x) * 1.442695041f; } @@ -135,6 +136,7 @@ static inline float acoshf(float x) { return logf(x + sqrtf(x * x - 1.0f)); } static inline float atanhf(float x) { return (logf(1.0f + x) - logf(1.0f - x)) / 2.0f; } static inline int isblank(int ch) { return ch == ' ' || ch == '\t'; } #define strtoll(p, e, b) _strtoi64(p, e, b) +#endif /* _MSC_VER < 1800 */ #define strcasecmp(s1, s2) _stricmp(s1, s2) #endif /*@}*/ -- 1.9.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/9] util/u_debug_flush: Use util_snprintf.
On 05/02/2014 09:11 AM, jfons...@vmware.com wrote: From: José Fonseca --- src/gallium/auxiliary/util/u_debug_flush.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gallium/auxiliary/util/u_debug_flush.c b/src/gallium/auxiliary/util/u_debug_flush.c index 9cf70db..fdb248c 100644 --- a/src/gallium/auxiliary/util/u_debug_flush.c +++ b/src/gallium/auxiliary/util/u_debug_flush.c @@ -46,6 +46,7 @@ #include "util/u_hash_table.h" #include "util/u_double_list.h" #include "util/u_inlines.h" +#include "util/u_string.h" #include "os/os_thread.h" #include @@ -320,8 +321,8 @@ debug_flush_might_flush_cb(void *key, void *value, void *data) const char *reason = (const char *) data; char message[80]; - snprintf(message, sizeof(message), -"%s referenced mapped buffer detected.", reason); + util_snprintf(message, sizeof(message), + "%s referenced mapped buffer detected.", reason); pipe_mutex_lock(fbuf->mutex); if (fbuf->mapped_sync) { These all look good. I was about to send out the same 1/9 patch too. I've got some other MSVC warning fixes that I'll post soon. Reviewed-by: Brian Paul ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/9] util/u_debug_flush: Use util_snprintf.
Am 02.05.2014 17:11, schrieb jfons...@vmware.com: > From: José Fonseca > > --- > src/gallium/auxiliary/util/u_debug_flush.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/src/gallium/auxiliary/util/u_debug_flush.c > b/src/gallium/auxiliary/util/u_debug_flush.c > index 9cf70db..fdb248c 100644 > --- a/src/gallium/auxiliary/util/u_debug_flush.c > +++ b/src/gallium/auxiliary/util/u_debug_flush.c > @@ -46,6 +46,7 @@ > #include "util/u_hash_table.h" > #include "util/u_double_list.h" > #include "util/u_inlines.h" > +#include "util/u_string.h" > #include "os/os_thread.h" > #include > > @@ -320,8 +321,8 @@ debug_flush_might_flush_cb(void *key, void *value, void > *data) > const char *reason = (const char *) data; > char message[80]; > > - snprintf(message, sizeof(message), > -"%s referenced mapped buffer detected.", reason); > + util_snprintf(message, sizeof(message), > + "%s referenced mapped buffer detected.", reason); > > pipe_mutex_lock(fbuf->mutex); > if (fbuf->mapped_sync) { > Series looks good to me. Reviewed-by: Roland Scheidegger ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 7/9] egl: Don't attempt to redefine stdint.h types with VS 2013.
On Fri, May 2, 2014 at 10:11 AM, wrote: > From: José Fonseca > > Just include stdint.h. > --- > src/egl/main/eglcompiler.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/src/egl/main/eglcompiler.h b/src/egl/main/eglcompiler.h > index 53dab54..5ea83d6 100644 > --- a/src/egl/main/eglcompiler.h > +++ b/src/egl/main/eglcompiler.h > @@ -37,7 +37,8 @@ > /** > * Get standard integer types > */ > -#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) > +#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \ > +(defined(_MSC_VER) && _MSC_VER >= 1600) > VS 2010 is where the support for beings. This can be verified by a quick Google search. > # include > #elif defined(_MSC_VER) > typedef __int8 int8_t; > -- > 1.9.1 > > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] R600/SI: Add processor type for Mullins.
On Wed, Apr 30, 2014 at 06:58:26PM -0400, Alex Deucher wrote: > From: Samuel Li > Committed as r207846. -Tom > Signed-off-by: Samuel Li > Signed-off-by: Alex Deucher > --- > lib/Target/R600/Processors.td | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/lib/Target/R600/Processors.td b/lib/Target/R600/Processors.td > index fde4481..ce17d7c 100644 > --- a/lib/Target/R600/Processors.td > +++ b/lib/Target/R600/Processors.td > @@ -106,3 +106,5 @@ def : Proc<"kabini", SI_Itin, [FeatureSeaIslands]>; > def : Proc<"kaveri", SI_Itin, [FeatureSeaIslands]>; > > def : Proc<"hawaii", SI_Itin, [FeatureSeaIslands]>; > + > +def : Proc<"mullins",SI_Itin, [FeatureSeaIslands]>; > -- > 1.8.3.1 > > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 7/9] egl: Don't attempt to redefine stdint.h types with VS 2013.
- Original Message - > On Fri, May 2, 2014 at 10:11 AM, wrote: > > > From: José Fonseca > > > > Just include stdint.h. > > --- > > src/egl/main/eglcompiler.h | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/src/egl/main/eglcompiler.h b/src/egl/main/eglcompiler.h > > index 53dab54..5ea83d6 100644 > > --- a/src/egl/main/eglcompiler.h > > +++ b/src/egl/main/eglcompiler.h > > @@ -37,7 +37,8 @@ > > /** > > * Get standard integer types > > */ > > -#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) > > +#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \ > > +(defined(_MSC_VER) && _MSC_VER >= 1600) > > > > VS 2010 is where the support for beings. This can be verified by > a quick Google search. Yes, but it doesn't provide stdbool.h, and we need both. See comment in "Patch 6/9" stdbool.h is particularly tricky due to the "_Bool" builtin type existing in MSVC 2013 (it didn't in previous versions). Also note that Mesa already builds fine with VS 2010 as is. So it doesn't seem to be worth to go out of my way to use stdint.h in earlier MSVC versions. Jose ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 7/9] egl: Don't attempt to redefine stdint.h types with VS 2013.
- Original Message - > > > - Original Message - > > On Fri, May 2, 2014 at 10:11 AM, wrote: > > > > > From: José Fonseca > > > > > > Just include stdint.h. > > > --- > > > src/egl/main/eglcompiler.h | 3 ++- > > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > > > diff --git a/src/egl/main/eglcompiler.h b/src/egl/main/eglcompiler.h > > > index 53dab54..5ea83d6 100644 > > > --- a/src/egl/main/eglcompiler.h > > > +++ b/src/egl/main/eglcompiler.h > > > @@ -37,7 +37,8 @@ > > > /** > > > * Get standard integer types > > > */ > > > -#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) > > > +#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \ > > > +(defined(_MSC_VER) && _MSC_VER >= 1600) > > > > > > > VS 2010 is where the support for beings. This can be verified by > > a quick Google search. > > Yes, but it doesn't provide stdbool.h, and we need both. See comment in > "Patch 6/9" > > stdbool.h is particularly tricky due to the "_Bool" builtin type existing in > MSVC 2013 (it didn't in previous versions). > > Also note that Mesa already builds fine with VS 2010 as is. So it doesn't > seem to be worth to go out of my way to use stdint.h in earlier MSVC > versions. Oh, never mind. Don't know what I was thinking. You're right. For this particular file, it's fine to include stdint.h starting from MSVC 2010. But, it will actually include the bundled stdint.h from mesa/include/c99 (due to the reason I mentioned above). Jose ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 0/6] v3: Implement INTEL_performance_query
On 04/23/2014 01:08 AM, Petri Latvala wrote: > Third revision of the patch series. Changes: > > - Rebased to current master > - Changes based on Ian's review > - Add the extension to 10.2 release notes > > I didn't change patch 5/6 "Enable INTEL_performance_query for Gen5+" > along the review comments yet. It's true that currently drivers can > support both by just implementing the current driver hooks, but I'm > worried that the situation might change with the upcoming changes to > the driver functions to support semantic types and normalized > counters. I have no concrete examples that would make that happen, I > might just be too paranoid and wary. Yeah, that's reasonable. > Summarum, there's more changes for this extension incoming, and that > sort of cleanup can be part of it if so desired. > > I will need someone to push this btw. Done. cf6c9db..6a2d285 6a2d28599f7326d7e40663033d34c32eeb814473 -> master > Petri Latvala (6): > Regenerate gl_mangle.h. > mesa: Add INTEL_performance_query enums to tests/enum_strings.cpp > mesa: Add core support for the GL_INTEL_performance_query extension. > mesa: Implement INTEL_performance_query. > i965: Enable INTEL_performance_query for Gen5+. > docs: update 10.2 release notes > > docs/relnotes/10.2.html| 1 + > include/GL/gl_mangle.h | 371 ++- > src/mapi/glapi/gen/INTEL_performance_query.xml | 93 > src/mapi/glapi/gen/Makefile.am | 1 + > src/mapi/glapi/gen/gl_API.xml | 2 + > src/mesa/drivers/dri/i965/intel_extensions.c | 4 +- > src/mesa/main/config.h | 8 + > src/mesa/main/extensions.c | 1 + > src/mesa/main/get.c| 1 + > src/mesa/main/get_hash_params.py | 6 + > src/mesa/main/mtypes.h | 1 + > src/mesa/main/performance_monitor.c| 614 > + > src/mesa/main/performance_monitor.h| 43 +- > src/mesa/main/tests/dispatch_sanity.cpp| 24 + > src/mesa/main/tests/enum_strings.cpp | 18 + > 15 files changed, 1180 insertions(+), 8 deletions(-) > create mode 100644 src/mapi/glapi/gen/INTEL_performance_query.xml > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 03/21] glsl: protect anonymous struct id with a mutex
On 04/22/2014 01:58 AM, Chia-I Wu wrote: > There may be two contexts compiling shaders at the same time, and we want the > anonymous struct id to be globally unique. I am not very excited about this. Is there any chance of getting stdatomic.h for the MSVC compilers that people care about? I'd much rather have this code be... if (identifier == NULL) { static volatile atomic_uint_t anon_count = ATOMIC_VAR_INIT(1); unsigned count; count = atomic_fetch_add(&anon_count, 1); identifier = ralloc_asprintf(this, "#anon_struct_%04x", count); } > Signed-off-by: Chia-I Wu > --- > src/glsl/glsl_parser_extras.cpp | 10 -- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp > index 91c9285..30e284b 100644 > --- a/src/glsl/glsl_parser_extras.cpp > +++ b/src/glsl/glsl_parser_extras.cpp > @@ -1332,9 +1332,15 @@ ast_struct_specifier::ast_struct_specifier(const char > *identifier, > ast_declarator_list *declarator_list) > { > if (identifier == NULL) { > + static mtx_t mutex = _MTX_INITIALIZER_NP; >static unsigned anon_count = 1; > - identifier = ralloc_asprintf(this, "#anon_struct_%04x", anon_count); > - anon_count++; > + unsigned count; > + > + mtx_lock(&mutex); > + count = anon_count++; > + mtx_unlock(&mutex); > + > + identifier = ralloc_asprintf(this, "#anon_struct_%04x", count); > } > name = identifier; > this->declarations.push_degenerate_list_at_head(&declarator_list->link); > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 02/21] glsl: protect locale_t with a mutex
On 04/22/2014 01:58 AM, Chia-I Wu wrote: > There may be two contexts compiling shaders at the same time. locale_t needs > to be protected. Rather than calling glsl_initialize_strtod from other places in the compiler, it seems better to use call_once from the strtof and strtod functions. > Signed-off-by: Chia-I Wu > --- > src/glsl/glsl_lexer.ll | 1 + > src/glsl/ir_reader.cpp | 2 ++ > src/glsl/strtod.c | 36 > src/glsl/strtod.h | 3 +++ > 4 files changed, 30 insertions(+), 12 deletions(-) > > diff --git a/src/glsl/glsl_lexer.ll b/src/glsl/glsl_lexer.ll > index 7602351..eb23120 100644 > --- a/src/glsl/glsl_lexer.ll > +++ b/src/glsl/glsl_lexer.ll > @@ -567,6 +567,7 @@ classify_identifier(struct _mesa_glsl_parse_state *state, > const char *name) > void > _mesa_glsl_lexer_ctor(struct _mesa_glsl_parse_state *state, const char > *string) > { > + glsl_initialize_strtod(); > yylex_init_extra(state, & state->scanner); > yy_scan_string(string, state->scanner); > } > diff --git a/src/glsl/ir_reader.cpp b/src/glsl/ir_reader.cpp > index 28923f3..38b445b 100644 > --- a/src/glsl/ir_reader.cpp > +++ b/src/glsl/ir_reader.cpp > @@ -79,6 +79,8 @@ void > _mesa_glsl_read_ir(_mesa_glsl_parse_state *state, exec_list *instructions, > const char *src, bool scan_for_protos) > { > + glsl_initialize_strtod(); > + > ir_reader r(state); > r.read(instructions, src, scan_for_protos); > } > diff --git a/src/glsl/strtod.c b/src/glsl/strtod.c > index 5d4346b..f37b3f5 100644 > --- a/src/glsl/strtod.c > +++ b/src/glsl/strtod.c > @@ -25,6 +25,7 @@ > > > #include > +#include "c11/threads.h" > > #ifdef _GNU_SOURCE > #include > @@ -35,6 +36,27 @@ > > #include "strtod.h" > > +#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && > \ > + !defined(__HAIKU__) && !defined(__UCLIBC__) > +#define GLSL_HAVE_LOCALE_T > +#endif > + > +#ifdef GLSL_HAVE_LOCALE_T > +static mtx_t loc_lock = _MTX_INITIALIZER_NP; > +static locale_t loc = NULL; > +#endif > + > +void > +glsl_initialize_strtod(void) > +{ > +#ifdef GLSL_HAVE_LOCALE_T > + mtx_lock(&loc_lock); > + if (!loc) > + loc = newlocale(LC_CTYPE_MASK, "C", NULL); > + mtx_unlock(&loc_lock); > +#endif > +} > + > > > /** > @@ -44,12 +66,7 @@ > double > glsl_strtod(const char *s, char **end) > { > -#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && > \ > - !defined(__HAIKU__) && !defined(__UCLIBC__) > - static locale_t loc = NULL; > - if (!loc) { > - loc = newlocale(LC_CTYPE_MASK, "C", NULL); > - } > +#ifdef GLSL_HAVE_LOCALE_T > return strtod_l(s, end, loc); > #else > return strtod(s, end); > @@ -64,12 +81,7 @@ glsl_strtod(const char *s, char **end) > float > glsl_strtof(const char *s, char **end) > { > -#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && > \ > - !defined(__HAIKU__) && !defined(__UCLIBC__) > - static locale_t loc = NULL; > - if (!loc) { > - loc = newlocale(LC_CTYPE_MASK, "C", NULL); > - } > +#ifdef GLSL_HAVE_LOCALE_T > return strtof_l(s, end, loc); > #elif _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE > return strtof(s, end); > diff --git a/src/glsl/strtod.h b/src/glsl/strtod.h > index ad847db..8062928 100644 > --- a/src/glsl/strtod.h > +++ b/src/glsl/strtod.h > @@ -31,6 +31,9 @@ > extern "C" { > #endif > > +extern void > +glsl_initialize_strtod(void); > + > extern double > glsl_strtod(const char *s, char **end); > > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 01/21] glsl: make static constant variables "static const"
Reviewed-by: Ian Romanick This one seems low-impact enough that I went ahead and pushed it... so that it would be in 10.2. On 04/22/2014 01:58 AM, Chia-I Wu wrote: > This allows them to be moved to .rodata, and allow us to be sure that they > will not be modified. > > Signed-off-by: Chia-I Wu > --- > src/glsl/builtin_types.cpp | 2 +- > src/glsl/builtin_variables.cpp | 63 > + > src/glsl/glsl_parser.yy | 4 +-- > src/glsl/glsl_parser_extras.cpp | 4 +-- > src/glsl/ir.cpp | 2 +- > src/mesa/main/uniforms.h| 2 +- > 6 files changed, 39 insertions(+), 38 deletions(-) > > diff --git a/src/glsl/builtin_types.cpp b/src/glsl/builtin_types.cpp > index dd42ecb..0a0fa8c 100644 > --- a/src/glsl/builtin_types.cpp > +++ b/src/glsl/builtin_types.cpp > @@ -241,7 +241,7 @@ const static struct builtin_type_versions { > T(atomic_uint, 420, 999) > }; > > -const glsl_type *const deprecated_types[] = { > +static const glsl_type *const deprecated_types[] = { > glsl_type::struct_gl_PointParameters_type, > glsl_type::struct_gl_MaterialParameters_type, > glsl_type::struct_gl_LightSourceParameters_type, > diff --git a/src/glsl/builtin_variables.cpp b/src/glsl/builtin_variables.cpp > index 4176ae6..9b35850 100644 > --- a/src/glsl/builtin_variables.cpp > +++ b/src/glsl/builtin_variables.cpp > @@ -30,21 +30,21 @@ > #include "program/prog_statevars.h" > #include "program/prog_instruction.h" > > -static struct gl_builtin_uniform_element gl_NumSamples_elements[] = { > +static const struct gl_builtin_uniform_element gl_NumSamples_elements[] = { > {NULL, {STATE_NUM_SAMPLES, 0, 0}, SWIZZLE_} > }; > > -static struct gl_builtin_uniform_element gl_DepthRange_elements[] = { > +static const struct gl_builtin_uniform_element gl_DepthRange_elements[] = { > {"near", {STATE_DEPTH_RANGE, 0, 0}, SWIZZLE_}, > {"far", {STATE_DEPTH_RANGE, 0, 0}, SWIZZLE_}, > {"diff", {STATE_DEPTH_RANGE, 0, 0}, SWIZZLE_}, > }; > > -static struct gl_builtin_uniform_element gl_ClipPlane_elements[] = { > +static const struct gl_builtin_uniform_element gl_ClipPlane_elements[] = { > {NULL, {STATE_CLIPPLANE, 0, 0}, SWIZZLE_XYZW} > }; > > -static struct gl_builtin_uniform_element gl_Point_elements[] = { > +static const struct gl_builtin_uniform_element gl_Point_elements[] = { > {"size", {STATE_POINT_SIZE}, SWIZZLE_}, > {"sizeMin", {STATE_POINT_SIZE}, SWIZZLE_}, > {"sizeMax", {STATE_POINT_SIZE}, SWIZZLE_}, > @@ -54,7 +54,7 @@ static struct gl_builtin_uniform_element > gl_Point_elements[] = { > {"distanceQuadraticAttenuation", {STATE_POINT_ATTENUATION}, SWIZZLE_}, > }; > > -static struct gl_builtin_uniform_element gl_FrontMaterial_elements[] = { > +static const struct gl_builtin_uniform_element gl_FrontMaterial_elements[] = > { > {"emission", {STATE_MATERIAL, 0, STATE_EMISSION}, SWIZZLE_XYZW}, > {"ambient", {STATE_MATERIAL, 0, STATE_AMBIENT}, SWIZZLE_XYZW}, > {"diffuse", {STATE_MATERIAL, 0, STATE_DIFFUSE}, SWIZZLE_XYZW}, > @@ -62,7 +62,7 @@ static struct gl_builtin_uniform_element > gl_FrontMaterial_elements[] = { > {"shininess", {STATE_MATERIAL, 0, STATE_SHININESS}, SWIZZLE_}, > }; > > -static struct gl_builtin_uniform_element gl_BackMaterial_elements[] = { > +static const struct gl_builtin_uniform_element gl_BackMaterial_elements[] = { > {"emission", {STATE_MATERIAL, 1, STATE_EMISSION}, SWIZZLE_XYZW}, > {"ambient", {STATE_MATERIAL, 1, STATE_AMBIENT}, SWIZZLE_XYZW}, > {"diffuse", {STATE_MATERIAL, 1, STATE_DIFFUSE}, SWIZZLE_XYZW}, > @@ -70,7 +70,7 @@ static struct gl_builtin_uniform_element > gl_BackMaterial_elements[] = { > {"shininess", {STATE_MATERIAL, 1, STATE_SHININESS}, SWIZZLE_}, > }; > > -static struct gl_builtin_uniform_element gl_LightSource_elements[] = { > +static const struct gl_builtin_uniform_element gl_LightSource_elements[] = { > {"ambient", {STATE_LIGHT, 0, STATE_AMBIENT}, SWIZZLE_XYZW}, > {"diffuse", {STATE_LIGHT, 0, STATE_DIFFUSE}, SWIZZLE_XYZW}, > {"specular", {STATE_LIGHT, 0, STATE_SPECULAR}, SWIZZLE_XYZW}, > @@ -89,67 +89,67 @@ static struct gl_builtin_uniform_element > gl_LightSource_elements[] = { > {"quadraticAttenuation", {STATE_LIGHT, 0, STATE_ATTENUATION}, > SWIZZLE_}, > }; > > -static struct gl_builtin_uniform_element gl_LightModel_elements[] = { > +static const struct gl_builtin_uniform_element gl_LightModel_elements[] = { > {"ambient", {STATE_LIGHTMODEL_AMBIENT, 0}, SWIZZLE_XYZW}, > }; > > -static struct gl_builtin_uniform_element > gl_FrontLightModelProduct_elements[] = { > +static const struct gl_builtin_uniform_element > gl_FrontLightModelProduct_elements[] = { > {"sceneColor", {STATE_LIGHTMODEL_SCENECOLOR, 0}, SWIZZLE_XYZW}, > }; > > -static struct gl_builtin_uniform_element gl_BackLightModelProduct_elements[] > = { > +static const struct gl_bui
Re: [Mesa-dev] [PATCH 20/21] mesa: add support for threaded glCompileShader
On 04/22/2014 01:58 AM, Chia-I Wu wrote: > From: Chia-I Wu > > Threaded glCompileShader can be enabled for a context by calling > _mesa_enable_glsl_threadpool. It will initialize the singleton GLSL thread > pool and defer glCompileShader calls to the thread pool. > > For applications to benefit from threaded glCompileShader, they have to > compile shaders in this fashion > > for (i = 0; i < num_shaders; i++) >glCompileShader(shaders[i]); > for (i = 0; i < num_shaders; i++) >glGetShaderiv(shaders[i], GL_COMPILE_STATUS, &val); I think when you try this series on some real applications, you will be disappointed. Eric had a pretty similar branch (http://cgit.freedesktop.org/~anholt/mesa/log/?h=compiler-threads), but it saw no benefit on any applications... because everybody does for (i = 0; i < num_shaders; i++) { glCompileShader(shaders[i]); glGetShaderiv(shaders[i], GL_COMPILE_STATUS, &val); } or for (i = 0; i < num_shaders; i++) { glCompileShader(shaders[i]); glAttachShader(prog, shaders[i]); } glLinkProgram(prog); I'm also curious about your test case... did you link the shaders? As far as I'm aware, the bulk of time spent in the compiler happens during linking (final optimizations and register allocation). Eric's data (http://lists.freedesktop.org/archives/mesa-dev/2014-April/057494.html) says we spend more than 2x time in linking than in compiling. > As each glGetShaderiv call will force mesa to wait for the deferred > glCompileShader to complete, compiling shaders in the traditional way will > defeat this feature. This is also why the feature needs to be explicitly > enabled with _mesa_enable_glsl_threadpool. > > Signed-off-by: Chia-I Wu > --- > src/glsl/glsl_parser_extras.cpp | 4 +++ > src/glsl/threadpool.c | 72 > + > src/glsl/threadpool.h | 9 ++ > src/mesa/main/context.c | 25 ++ > src/mesa/main/context.h | 3 ++ > src/mesa/main/mtypes.h | 13 > src/mesa/main/shaderapi.c | 48 +-- > src/mesa/main/shaderobj.c | 20 > src/mesa/main/shaderobj.h | 2 ++ > 9 files changed, 194 insertions(+), 2 deletions(-) > > diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp > index 30e284b..c035474 100644 > --- a/src/glsl/glsl_parser_extras.cpp > +++ b/src/glsl/glsl_parser_extras.cpp > @@ -37,6 +37,7 @@ extern "C" { > #include "glsl_parser.h" > #include "ir_optimization.h" > #include "loop_analysis.h" > +#include "threadpool.h" > > /** > * Format a short human-readable description of the given GLSL version. > @@ -1567,6 +1568,8 @@ extern "C" { > void > _mesa_destroy_shader_compiler(void) > { > + _mesa_glsl_destroy_threadpool(); > + > _mesa_destroy_shader_compiler_caches(); > > _mesa_glsl_release_types(); > @@ -1580,6 +1583,7 @@ _mesa_destroy_shader_compiler(void) > void > _mesa_destroy_shader_compiler_caches(void) > { > + _mesa_glsl_wait_threadpool(); > _mesa_glsl_release_builtin_functions(); > } > > diff --git a/src/glsl/threadpool.c b/src/glsl/threadpool.c > index 0aaac3a..3d54ec0 100644 > --- a/src/glsl/threadpool.c > +++ b/src/glsl/threadpool.c > @@ -55,6 +55,7 @@ struct _mesa_threadpool_task { > struct _mesa_threadpool { > mtx_t mutex; > int refcnt; > + bool shutdown; > > enum _mesa_threadpool_control thread_control; > thrd_t *threads; > @@ -158,6 +159,12 @@ _mesa_threadpool_queue_task(struct _mesa_threadpool > *pool, > > mtx_lock(&pool->mutex); > > + if (unlikely(pool->shutdown)) { > + mtx_unlock(&pool->mutex); > + free(task); > + return NULL; > + } > + > while (unlikely(pool->thread_control != MESA_THREADPOOL_NORMAL)) >cnd_wait(&pool->thread_joined, &pool->mutex); > > @@ -297,6 +304,17 @@ _mesa_threadpool_join(struct _mesa_threadpool *pool, > bool graceful) > } > > /** > + * After this call, no task can be queued. > + */ > +static void > +_mesa_threadpool_set_shutdown(struct _mesa_threadpool *pool) > +{ > + mtx_lock(&pool->mutex); > + pool->shutdown = true; > + mtx_unlock(&pool->mutex); > +} > + > +/** > * Decrease the reference count. Destroy \p pool when the reference count > * reaches zero. > */ > @@ -392,3 +410,57 @@ _mesa_threadpool_create(int max_threads) > > return pool; > } > + > +static mtx_t threadpool_lock = _MTX_INITIALIZER_NP; > +static struct _mesa_threadpool *threadpool; > + > +/** > + * Get the singleton GLSL thread pool. \p max_threads is honored only by the > + * first call to this function. > + */ > +struct _mesa_threadpool * > +_mesa_glsl_get_threadpool(int max_threads) > +{ > + mtx_lock(&threadpool_lock); > + if (!threadpool) > + threadpool = _mesa_threadpool_create(max_threads); > + if (threadpool) > + _mesa_threadpool_ref(threadpool); > + mtx_unlock(&threadpool_lock); > + >
Re: [Mesa-dev] [PATCH 00/21] deferred and threaded glCompileShader
I reviewed and pushed patch 1. I sent some comments about patches 2, 3, and 20. I want to look at 19 a bit more, and I'd also really like to have Eric review it... since he wrote a pretty similar thing 18 months ago. Patches 4 through 15, the "fixed" 16, 17, and 18 are Reviewed-by: Ian Romanick On 04/22/2014 01:58 AM, Chia-I Wu wrote: > Hi list, > > This series adds a thread pool to the GLSL compiler, and a drirc option to > defer glCompileShader calls to the pool. The goal is to reduce the start-up > time of applications that are aware of this feature. That is, applications > that compile shaders first and check the compile status later. > > I do not have numbers from real applications yet. But trying to compiling a > set of 2882 shaders extracted from some trace file, with everything else > idled, the time it takes is > > 8 threads: 17.8s > 4 threads: 20.3s > 2 threads: 31.2s > 1 threads: 58.0s > no thread pool: 54.5 > > on a quad core system. > > Patches 1-4 fix potential races in the GLSL compiler. As the compiler is > already shared by all contexts, these patches could be desirable even without > the thread pool that I am going to add. > > Patches 5-18 adds true GL_DEBUG_OUTPUT_SYNCHRONOUS support to the KHR_debug > code. All except patch 18 are clean-ups. Patch 18 adds a mutex to protect > gl_debug_state. > > Patch 19 defines a simple API to create and work with thread pools, as well as > a test for the API. > > Patch 20 adds the singleton GLSL thread pool and allows glCompileShader to be > deferred to the pool. This feature needs to be explicitly enabled with > _mesa_enable_glsl_threadpool. > > Patch 21 adds a drirc option to enable the thread pool. The idea is that only > applications that can benefit from it will enable it. > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 2/2] i965: use sse4.1 runtime detection for miptree_map
From: Matt Atwood Previous implementation was compile time decision --- src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 11 +++ 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c index b23fddf..f7185ca 100644 --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c @@ -46,6 +46,7 @@ #include "main/texcompress_etc.h" #include "main/teximage.h" #include "main/streaming-load-memcpy.h" +#include "x86/common_x86_asm.h" #define FILE_DEBUG_FLAG DEBUG_MIPTREE @@ -1826,7 +1827,6 @@ intel_miptree_unmap_blit(struct brw_context *brw, intel_miptree_release(&map->mt); } -#ifdef __SSE4_1__ /** * "Map" a buffer by copying it to an untiled temporary using MOVNTDQA. */ @@ -1897,7 +1897,6 @@ intel_miptree_unmap_movntdqa(struct brw_context *brw, map->buffer = NULL; map->ptr = NULL; } -#endif static void intel_miptree_map_s8(struct brw_context *brw, @@ -2278,10 +2277,8 @@ intel_miptree_map(struct brw_context *brw, mt->bo->size >= brw->max_gtt_map_object_size) { assert(can_blit_slice(mt, level, slice)); intel_miptree_map_blit(brw, mt, map, level, slice); -#ifdef __SSE4_1__ - } else if (!(mode & GL_MAP_WRITE_BIT) && !mt->compressed) { + } else if (!(mode & GL_MAP_WRITE_BIT) && !mt->compressed && cpu_has_sse4_1) { intel_miptree_map_movntdqa(brw, mt, map, level, slice); -#endif } else { intel_miptree_map_gtt(brw, mt, map, level, slice); } @@ -2318,10 +2315,8 @@ intel_miptree_unmap(struct brw_context *brw, intel_miptree_unmap_depthstencil(brw, mt, map, level, slice); } else if (map->mt) { intel_miptree_unmap_blit(brw, mt, map, level, slice); -#ifdef __SSE4_1__ - } else if (map->buffer) { + } else if (map->buffer && cpu_has_sse4_1) { intel_miptree_unmap_movntdqa(brw, mt, map, level, slice); -#endif } else { intel_miptree_unmap_gtt(brw, mt, map, level, slice); } -- 1.8.3.2 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 1/2] mesa/x86: add SSE4.1 runtime detection
From: Matt Atwood add in bit to _mesa_x86_features for sse4.1, along with macros to query --- src/mesa/x86/common_x86.c | 3 +++ src/mesa/x86/common_x86_features.h | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/mesa/x86/common_x86.c b/src/mesa/x86/common_x86.c index 3c1adc9..87fa68a 100644 --- a/src/mesa/x86/common_x86.c +++ b/src/mesa/x86/common_x86.c @@ -238,6 +238,7 @@ _mesa_get_x86_features(void) /* get cpu features */ cpu_features = _mesa_x86_cpuid_edx(1); + cpu_features_ecx = _mesa_x86_cpuid_ecx(1); if (cpu_features & X86_CPU_FPU) _mesa_x86_cpu_features |= X86_FEATURE_FPU; @@ -254,6 +255,8 @@ _mesa_get_x86_features(void) _mesa_x86_cpu_features |= X86_FEATURE_XMM; if (cpu_features & X86_CPU_XMM2) _mesa_x86_cpu_features |= X86_FEATURE_XMM2; + if (cpu_features & x86_CPU_SSE4_1) + _mesa_x86_features |= X86_FEATURE_SSE4_1; #endif /* query extended cpu features */ diff --git a/src/mesa/x86/common_x86_features.h b/src/mesa/x86/common_x86_features.h index 8625484..1e4bbfc 100644 --- a/src/mesa/x86/common_x86_features.h +++ b/src/mesa/x86/common_x86_features.h @@ -43,6 +43,7 @@ #define X86_FEATURE_XMM2 (1<<6) #define X86_FEATURE_3DNOWEXT (1<<7) #define X86_FEATURE_3DNOW (1<<8) +#define X86_FEATURE_SSE4_1 (1<<9) /* standard X86 CPU features */ #define X86_CPU_FPU(1<<0) @@ -50,6 +51,7 @@ #define X86_CPU_MMX(1<<23) #define X86_CPU_XMM(1<<25) #define X86_CPU_XMM2 (1<<26) +#define X86_CPU_SSE4_1 (1<<19) /* extended X86 CPU features */ #define X86_CPUEXT_MMX_EXT (1<<22) @@ -62,6 +64,7 @@ #define cpu_has_xmm2 (_mesa_x86_cpu_features & X86_FEATURE_XMM2) #define cpu_has_3dnow (_mesa_x86_cpu_features & X86_FEATURE_3DNOW) #define cpu_has_3dnowext (_mesa_x86_cpu_features & X86_FEATURE_3DNOWEXT) +#define cpu_has_sse4_1 (_mesa_x86_cpu_features & X86_FEATURE_SSE4_1) #endif -- 1.8.3.2 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 4/6] mesa: Implement INTEL_performance_query.
On 04/23/2014 01:08 AM, Petri Latvala wrote: > Using the existing driver hooks made for AMD_performance_monitor, implement > INTEL_performance_query functions. > > v2: Whitespace changes. > v3: Whitespace changes, add a _mesa_warning() > > Signed-off-by: Petri Latvala > Reviewed-by: Ian Romanick > --- > src/mesa/main/performance_monitor.c | 487 > > 1 file changed, 441 insertions(+), 46 deletions(-) > > diff --git a/src/mesa/main/performance_monitor.c > b/src/mesa/main/performance_monitor.c > index 597f633..21b9423 100644 > --- a/src/mesa/main/performance_monitor.c > +++ b/src/mesa/main/performance_monitor.c > @@ -137,6 +137,46 @@ get_counter(const struct gl_perf_monitor_group > *group_obj, GLuint id) > return &group_obj->Counters[id]; > } > > +/* For INTEL_performance_query, query id 0 is reserved to be invalid. We use > + * index to Groups array + 1 as the query id. Same applies to counter id. > + */ > +static inline GLuint > +queryid_to_index(GLuint queryid) > +{ > + return queryid - 1; > +} > + > +static inline GLuint > +index_to_queryid(GLuint index) > +{ > + return index + 1; > +} > + > +static inline bool > +queryid_valid(const struct gl_context *ctx, GLuint queryid) > +{ > + return get_group(ctx, queryid_to_index(queryid)) != NULL; > +} > + > +static inline GLuint > +counterid_to_index(GLuint counterid) > +{ > + return counterid - 1; > +} > + > +static inline GLuint > +index_to_counterid(GLuint index) > +{ > + return index + 1; > +} > + > +static inline bool > +counterid_valid(const struct gl_perf_monitor_group *group_obj, > +GLuint counterid) > +{ > + return get_counter(group_obj, counterid_to_index(counterid)) != NULL; > +} > + > > /*/ > > void GLAPIENTRY > @@ -644,6 +684,7 @@ extern void GLAPIENTRY > _mesa_GetFirstPerfQueryIdINTEL(GLuint *queryId) > { > GET_CURRENT_CONTEXT(ctx); > + unsigned numGroups; > > /* The GL_INTEL_performance_query spec says: > * > @@ -655,16 +696,22 @@ _mesa_GetFirstPerfQueryIdINTEL(GLuint *queryId) >return; > } > > + numGroups = ctx->PerfMonitor.NumGroups; > + > /* The GL_INTEL_performance_query spec says: > * > *"If the given hardware platform doesn't support any performance > *queries, then the value of 0 is returned and INVALID_OPERATION error > *is raised." > */ > + if (numGroups == 0) { > + *queryId = 0; > + _mesa_error(ctx, GL_INVALID_OPERATION, > + "glGetFirstPerfQueryIdINTEL(no queries supported)"); > + return; > + } > > - *queryId = 0; > - _mesa_error(ctx, GL_INVALID_OPERATION, > - "glGetFirstPerfQueryIdINTEL(no queries supported)"); > + *queryId = index_to_queryid(0); > } > > extern void GLAPIENTRY > @@ -674,40 +721,66 @@ _mesa_GetNextPerfQueryIdINTEL(GLuint queryId, GLuint > *nextQueryId) > > /* The GL_INTEL_performance_query spec says: > * > -*"If nextQueryId pointer is equal to 0, an INVALID_VALUE error is > -*generated." > +*"The result is passed in location pointed by nextQueryId. If query > +*identified by queryId is the last query available the value of 0 is > +*returned. If the specified performance query identifier is invalid > +*then INVALID_VALUE error is generated. If nextQueryId pointer is > +*equal to 0, an INVALID_VALUE error is generated. Whenever error is > +*generated, the value of 0 is returned." > */ > + > if (!nextQueryId) { >_mesa_error(ctx, GL_INVALID_VALUE, >"glGetNextPerfQueryIdINTEL(nextQueryId == NULL)"); >return; > } > > - /* The GL_INTEL_performance_query spec says: > -* > -*"If the specified performance query identifier is invalid then > -*INVALID_VALUE error is generated. Whenever error is generated, the > -*value of 0 is returned." > -* > -* No queries are supported, so all queries are invalid. > -*/ > - *nextQueryId = 0; > - _mesa_error(ctx, GL_INVALID_VALUE, > - "glGetNextPerfQueryIdINTEL(invalid query)"); > + if (!queryid_valid(ctx, queryId)) { > + *nextQueryId = 0; > + _mesa_error(ctx, GL_INVALID_VALUE, > + "glGetNextPerfQueryIdINTEL(invalid query)"); > + return; > + } > + > + ++queryId; > + > + if (!queryid_valid(ctx, queryId)) { > + *nextQueryId = 0; > + } else { > + *nextQueryId = queryId; > + } > } > > extern void GLAPIENTRY > _mesa_GetPerfQueryIdByNameINTEL(char *queryName, GLuint *queryId) > { > GET_CURRENT_CONTEXT(ctx); > + unsigned i; > > /* The GL_INTEL_performance_query spec says: > * > *"If queryName does not reference a valid query name, an > INVALID_VALUE > *error is generated." > -* > -* No queries are supported, so all query nam
Re: [Mesa-dev] [PATCH 1/2] mesa/x86: add SSE4.1 runtime detection
NAK. common_x86 is only used for 32-bit builds, and there is nothing equivalent for 64-bit. As a result, this will disable the optimization completely for 64-bit. Gallium has a bunch of CPU detection code, so if we need to update the CPU detection code in core Mesa, we should move the Gallium code to a higher level in the tree to be shared. I believe this has been discussed before. On 05/02/2014 11:11 AM, Matthew Atwood wrote: > From: Matt Atwood > > add in bit to _mesa_x86_features for sse4.1, along with macros to query > --- > src/mesa/x86/common_x86.c | 3 +++ > src/mesa/x86/common_x86_features.h | 3 +++ > 2 files changed, 6 insertions(+) > > diff --git a/src/mesa/x86/common_x86.c b/src/mesa/x86/common_x86.c > index 3c1adc9..87fa68a 100644 > --- a/src/mesa/x86/common_x86.c > +++ b/src/mesa/x86/common_x86.c > @@ -238,6 +238,7 @@ _mesa_get_x86_features(void) > > /* get cpu features */ > cpu_features = _mesa_x86_cpuid_edx(1); > + cpu_features_ecx = _mesa_x86_cpuid_ecx(1); > > if (cpu_features & X86_CPU_FPU) > _mesa_x86_cpu_features |= X86_FEATURE_FPU; > @@ -254,6 +255,8 @@ _mesa_get_x86_features(void) > _mesa_x86_cpu_features |= X86_FEATURE_XMM; > if (cpu_features & X86_CPU_XMM2) > _mesa_x86_cpu_features |= X86_FEATURE_XMM2; > + if (cpu_features & x86_CPU_SSE4_1) > +_mesa_x86_features |= X86_FEATURE_SSE4_1; > #endif > > /* query extended cpu features */ > diff --git a/src/mesa/x86/common_x86_features.h > b/src/mesa/x86/common_x86_features.h > index 8625484..1e4bbfc 100644 > --- a/src/mesa/x86/common_x86_features.h > +++ b/src/mesa/x86/common_x86_features.h > @@ -43,6 +43,7 @@ > #define X86_FEATURE_XMM2 (1<<6) > #define X86_FEATURE_3DNOWEXT (1<<7) > #define X86_FEATURE_3DNOW(1<<8) > +#define X86_FEATURE_SSE4_1 (1<<9) > > /* standard X86 CPU features */ > #define X86_CPU_FPU (1<<0) > @@ -50,6 +51,7 @@ > #define X86_CPU_MMX (1<<23) > #define X86_CPU_XMM (1<<25) > #define X86_CPU_XMM2 (1<<26) > +#define X86_CPU_SSE4_1 (1<<19) > > /* extended X86 CPU features */ > #define X86_CPUEXT_MMX_EXT (1<<22) > @@ -62,6 +64,7 @@ > #define cpu_has_xmm2 (_mesa_x86_cpu_features & X86_FEATURE_XMM2) > #define cpu_has_3dnow(_mesa_x86_cpu_features & > X86_FEATURE_3DNOW) > #define cpu_has_3dnowext (_mesa_x86_cpu_features & X86_FEATURE_3DNOWEXT) > +#define cpu_has_sse4_1 (_mesa_x86_cpu_features & > X86_FEATURE_SSE4_1) > > #endif > > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 00/15] Klocwork patches again
I just pushed the first 3 patches (the ones with Reviewed-bys). I had to modify patch 3 to avoid a MSVC build break. We should be able to get most or all of the others for 10.2-rc2. On 04/27/2014 01:04 PM, Juha-Pekka Heikkila wrote: > Most of these were earlier on the list but they seem to have vanished > to void already. This set pass piglit quick set on my ivybridge without > regressions. > > Patch 15 (i965: Avoid null access in intelMakeCurrent()) I'm was a bit > iffy if its the same behavior which I replaced. > > In patch 14 (mesa/drivers: Add extra null check in blitframebuffer_texture()) > GetDrawableAttribute may send GLXBadDrawable if is not bound > to thread's context. Should GLXBadDrawable be sent also if > GetGLXDRIDrawable(dpy, drawable) return NULL because it mean drawable > is not associated with a direct-rendering context. Now just return 0. > > /Juha-Pekka > > Ian Romanick (1): > mesa: Add _mesa_error_no_memory for logging out-of-memory messages > > Juha-Pekka Heikkila (14): > mesa: add missing null checks in _tnl_register_fastpath() > mesa: add extra null checks in vbo_rebase_prims() > mesa: In emit_texenv() type mismatch was forced with typecast > mesa: Add missing null checks into prog_hash_table.c > glsl: add missing null check in tfeedback_decl::init() > mesa: add missing null check in _mesa_NewHashTable() > i965: check malloc return value in intel_resolve_map_set() > mesa: add null checks in symbol_table.c > glsl: Add null check in loop_analysis.cpp > glsl: check _mesa_hash_table_create return value in > link_uniform_blocks > i965/fs: Check variable_storage return value in fs_visitor::visit > glx: Added missing null check in GetDrawableAttribute() > mesa/drivers: Add extra null check in blitframebuffer_texture() > i965: Avoid null access in intelMakeCurrent() > > src/glsl/Makefile.am | 13 > src/glsl/link_uniform_blocks.cpp | 5 + > src/glsl/link_varyings.cpp| 5 + > src/glsl/loop_analysis.cpp| 6 -- > src/glsl/main.cpp | 6 ++ > src/glsl/tests/common.c | 30 > +++ > src/glx/glx_pbuffer.c | 4 > src/mesa/drivers/common/meta_blit.c | 7 +++ > src/mesa/drivers/dri/i965/brw_context.c | 10 ++--- > src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 6 ++ > src/mesa/drivers/dri/i965/intel_resolve_map.c | 7 +++ > src/mesa/main/errors.c| 6 ++ > src/mesa/main/errors.h| 3 +++ > src/mesa/main/ff_fragment_shader.cpp | 17 --- > src/mesa/main/hash.c | 10 + > src/mesa/program/prog_hash_table.c| 8 +++ > src/mesa/program/symbol_table.c | 30 > +++ > src/mesa/tnl/t_vertex.c | 14 +++-- > src/mesa/vbo/vbo_rebase.c | 19 + > 19 files changed, 187 insertions(+), 19 deletions(-) > create mode 100644 src/glsl/tests/common.c > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 1/2] mesa: Add uninitialized_vars macro from the Linux kernel.
--- src/mesa/main/compiler.h | 6 ++ 1 file changed, 6 insertions(+) diff --git a/src/mesa/main/compiler.h b/src/mesa/main/compiler.h index 97075f5..6006917 100644 --- a/src/mesa/main/compiler.h +++ b/src/mesa/main/compiler.h @@ -264,6 +264,12 @@ static INLINE GLuint CPU_TO_LE32(GLuint x) #define unreachable() #endif +/* + * A trick to suppress uninitialized variable warning without generating any + * code + */ +#define uninitialized_var(x) x = x + #if (__GNUC__ >= 3) #define PRINTFLIKE(f, a) __attribute__ ((format(__printf__, f, a))) #else -- 1.8.3.2 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 2/2] mesa/x86: Support SSE 4.1 detection on x86-64.
Uses the cpuid.h header provided by gcc and clang. Other platforms are encouraged to switch. --- src/mesa/main/cpuinfo.c | 2 +- src/mesa/main/cpuinfo.h | 2 +- src/mesa/x86/common_x86.c | 14 ++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/mesa/main/cpuinfo.c b/src/mesa/main/cpuinfo.c index 8d482a6..d017598 100644 --- a/src/mesa/main/cpuinfo.c +++ b/src/mesa/main/cpuinfo.c @@ -34,7 +34,7 @@ void _mesa_get_cpu_features(void) { -#ifdef USE_X86_ASM +#if defined USE_X86_ASM || defined __x86_64__ _mesa_get_x86_features(); #endif } diff --git a/src/mesa/main/cpuinfo.h b/src/mesa/main/cpuinfo.h index 3678889..6fd32ad 100644 --- a/src/mesa/main/cpuinfo.h +++ b/src/mesa/main/cpuinfo.h @@ -27,7 +27,7 @@ #define CPUINFO_H -#if defined(USE_X86_ASM) +#if defined(USE_X86_ASM) || defined(__x86_64__) #include "x86/common_x86_asm.h" #endif diff --git a/src/mesa/x86/common_x86.c b/src/mesa/x86/common_x86.c index 87fa68a..672226d 100644 --- a/src/mesa/x86/common_x86.c +++ b/src/mesa/x86/common_x86.c @@ -47,6 +47,9 @@ #include #include #endif +#if defined(__x86_64__) +#include +#endif #include "main/imports.h" #include "common_x86_asm.h" @@ -333,6 +336,17 @@ _mesa_get_x86_features(void) } #endif +#elif defined __x86_64__ + unsigned int uninitialized_var(eax), uninitialized_var(ebx), +uninitialized_var(ecx), uninitialized_var(edx); + + /* Always available on x86-64. */ + _mesa_x86_cpu_features |= X86_FEATURE_XMM | X86_FEATURE_XMM2; + + __get_cpuid(1, &eax, &ebx, &ecx, &edx); + + if (ecx & bit_SSE4_1) + _mesa_x86_cpu_features |= X86_FEATURE_SSE4_1; #endif /* USE_X86_ASM */ (void) detection_debug; -- 1.8.3.2 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/2] mesa/x86: add SSE4.1 runtime detection
On Fri, May 2, 2014 at 11:49 AM, Ian Romanick wrote: > Gallium has a bunch of CPU detection code, so if we need to update the > CPU detection code in core Mesa, we should move the Gallium code to a > higher level in the tree to be shared. I believe this has been > discussed before. I just sent two patches to use gcc/clang's cpuid.h for detection on __x86_64__. We should really prefer that over hand rolling our own assembly detection routines. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] Mesa 10.2 release plan strawman
On 04/04/2014 05:18 PM, Ian Romanick wrote: > Fast forwarding 3 months from the 10.1 release (March 4th, planned for > February 28th) is May 30th. I'd like to propose the following set of dates: (Slight edits to the quoted e-mail to account for changes to the RC plan.) > May 2nd: Feature freeze / 10.2 branch created / RC1. Just a reminder... this is about 6 or 7 hours away. I don't think there's anything pending that would be too disruptive, but be careful what you push. I've asked the VMware guys to do an MSCV build, so hopefully RC1 won't go out broken on that platform. > May 9th: RC2 > > May 16th: RC3 > > May 23rd: RC4 > > May 30th: 10.2 final release > > Does this plan sound reasonable? > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCHES 0/9] Draw Indirect and Cube Map Arrays for RadeonSI
On Fri, May 2, 2014 at 4:56 AM, Michel Dänzer wrote: > On 26.04.2014 22:27, Marek Olšák wrote: >> >> This series adds support for ARB_texture_cube_map_array and >> ARB_draw_indirect to the radeonsi driver. There is also Gallium >> infrastructure support for ARB_draw_indirect. As usual, the first >> patch is unrelated to the rest of the series. ;) > > While that's funny :), please submit such patches separately in the > future. Actually, the same applies to patch 2? Anyway, those two patches are Okay. > > Reviewed-by: Michel Dänzer > > > I'm holding off on the later patches, as the best approach for handling > the necessary changes between LLVM and radeonsi doesn't seem settled yet. I'll just wait until LLVM 3.5 is released with my patch, and then I'll make the Mesa configure script require that version. I'm also probably going to commit the non-driver patches for ARB_draw_indirect sooner. Marek ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 1/4] dri_util: keep __dri2ConfigOptions symbol private
The symbol was added with commit 45e2b51c853(DRI2/GLX: check for vblank_mode in DRI2 GLX code) but was never used as such according to git log. Possibly it was marked as public due to confusion with __driConfigOptions which was used for dri1 drivers. Cc: Jesse Barnes Signed-off-by: Emil Velikov --- src/mesa/drivers/dri/common/dri_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c index 248c361..1a205d9 100644 --- a/src/mesa/drivers/dri/common/dri_util.c +++ b/src/mesa/drivers/dri/common/dri_util.c @@ -52,7 +52,7 @@ #include "main/errors.h" #include "main/macros.h" -PUBLIC const char __dri2ConfigOptions[] = +const char __dri2ConfigOptions[] = DRI_CONF_BEGIN DRI_CONF_SECTION_PERFORMANCE DRI_CONF_VBLANK_MODE(DRI_CONF_VBLANK_DEF_INTERVAL_1) -- 1.9.2 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 3/4] targets/osmesa: limit the amount of exported symbols
Explicitly list all the OSMesa* symbols and wildcast the gl* ones. Cc: Brian Paul Signed-off-by: Emil Velikov --- src/gallium/targets/osmesa/Makefile.am | 1 + src/gallium/targets/osmesa/osmesa.sym | 18 ++ 2 files changed, 19 insertions(+) create mode 100644 src/gallium/targets/osmesa/osmesa.sym diff --git a/src/gallium/targets/osmesa/Makefile.am b/src/gallium/targets/osmesa/Makefile.am index 067f980..0ec8a26 100644 --- a/src/gallium/targets/osmesa/Makefile.am +++ b/src/gallium/targets/osmesa/Makefile.am @@ -45,6 +45,7 @@ lib@OSMESA_LIB@_la_LDFLAGS = \ -module \ -no-undefined \ -version-number @OSMESA_VERSION@ \ + -Wl,--version-script=$(top_srcdir)/src/gallium/targets/osmesa/osmesa.sym \ $(GC_SECTIONS) \ $(LD_NO_UNDEFINED) diff --git a/src/gallium/targets/osmesa/osmesa.sym b/src/gallium/targets/osmesa/osmesa.sym new file mode 100644 index 000..b8230e0 --- /dev/null +++ b/src/gallium/targets/osmesa/osmesa.sym @@ -0,0 +1,18 @@ +{ + global: + OSMesaColorClamp; + OSMesaCreateContext; + OSMesaCreateContextExt; + OSMesaDestroyContext; + OSMesaGetColorBuffer; + OSMesaGetCurrentContext; + OSMesaGetDepthBuffer; + OSMesaGetIntegerv; + OSMesaGetProcAddress; + OSMesaMakeCurrent; + OSMesaPixelStore; + OSMesaPostprocess; + gl*; + local: + *; +}; -- 1.9.2 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 4/4] targets/libgl-xlib: hide all the exported symbol mayhem
TODO: - properly cleanup all the _glapi* symbols - XMesa* -- no sign of the header even being distributed -- mesa-demos uses it to the point that the relevant code is not compiled -- the classic driver (x11) exibits the same issues Brian, Do you know of any users of the XMesa* functions outside of mesa-demos ? AFAICS we should be safe with dropping PUBLIC although I may have missed something. As a follow up someone can cleanup all the mesa-demos code :) Cc: Brian Paul Signed-off-by: Emil Velikov --- src/gallium/targets/libgl-xlib/Makefile.am| 1 + src/gallium/targets/libgl-xlib/libgl-xlib.sym | 6 ++ 2 files changed, 7 insertions(+) create mode 100644 src/gallium/targets/libgl-xlib/libgl-xlib.sym diff --git a/src/gallium/targets/libgl-xlib/Makefile.am b/src/gallium/targets/libgl-xlib/Makefile.am index 4ee364e..3718243 100644 --- a/src/gallium/targets/libgl-xlib/Makefile.am +++ b/src/gallium/targets/libgl-xlib/Makefile.am @@ -47,6 +47,7 @@ libGL_la_SOURCES = xlib.c libGL_la_LDFLAGS = \ -no-undefined \ -version-number $(GL_MAJOR):$(GL_MINOR):$(GL_TINY) \ + -Wl,--version-script=$(top_srcdir)/src/gallium/targets/libgl-xlib/libgl-xlib.sym \ $(GC_SECTIONS) \ $(LD_NO_UNDEFINED) diff --git a/src/gallium/targets/libgl-xlib/libgl-xlib.sym b/src/gallium/targets/libgl-xlib/libgl-xlib.sym new file mode 100644 index 000..d6cd23d --- /dev/null +++ b/src/gallium/targets/libgl-xlib/libgl-xlib.sym @@ -0,0 +1,6 @@ +{ + global: + gl*; + local: + *; +}; -- 1.9.2 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 2/4] targets/xa: limit the amount of exported symbols
In the presence of LLVM the final library exports every symbol from the llvm namespace. Resolve this by using a version script (w/o the version/name tag). Considering that there are only ~35 symbols, explicitly list them to minimize the chances of rogue symbols sneaking in. Signed-off-by: Emil Velikov --- src/gallium/targets/xa/Makefile.am | 1 + src/gallium/targets/xa/xa.sym | 38 ++ 2 files changed, 39 insertions(+) create mode 100644 src/gallium/targets/xa/xa.sym diff --git a/src/gallium/targets/xa/Makefile.am b/src/gallium/targets/xa/Makefile.am index 2619e57..17cd6c4 100644 --- a/src/gallium/targets/xa/Makefile.am +++ b/src/gallium/targets/xa/Makefile.am @@ -63,6 +63,7 @@ endif libxatracker_la_LDFLAGS = \ -no-undefined \ -version-number $(XA_MAJOR):$(XA_MINOR):$(XA_TINY) \ + -Wl,--version-script=$(top_srcdir)/src/gallium/targets/xa/xa.sym \ $(GC_SECTIONS) \ $(LD_NO_UNDEFINED) diff --git a/src/gallium/targets/xa/xa.sym b/src/gallium/targets/xa/xa.sym new file mode 100644 index 000..9c7f422 --- /dev/null +++ b/src/gallium/targets/xa/xa.sym @@ -0,0 +1,38 @@ +{ + global: + xa_composite_allocation; + xa_composite_check_accelerated; + xa_composite_done; + xa_composite_prepare; + xa_composite_rect; + xa_context_create; + xa_context_default; + xa_context_destroy; + xa_context_flush; + xa_copy; + xa_copy_done; + xa_copy_prepare; + xa_fence_get; + xa_fence_wait; + xa_fence_destroy; + xa_format_check_supported; + xa_solid; + xa_solid_done; + xa_solid_prepare; + xa_surface_create; + xa_surface_dma; + xa_surface_format; + xa_surface_from_handle; + xa_surface_handle; + xa_surface_map; + xa_surface_redefine; + xa_surface_ref; + xa_surface_unmap; + xa_surface_unref; + xa_tracker_create; + xa_tracker_destroy; + xa_tracker_version; + xa_yuv_planar_blit; + local: + *; +}; -- 1.9.2 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 7/9] egl: Don't attempt to redefine stdint.h types with VS 2013.
- Original Message - > On Fri, May 2, 2014 at 10:11 AM, wrote: > > > From: José Fonseca > > > > Just include stdint.h. > > --- > > src/egl/main/eglcompiler.h | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/src/egl/main/eglcompiler.h b/src/egl/main/eglcompiler.h > > index 53dab54..5ea83d6 100644 > > --- a/src/egl/main/eglcompiler.h > > +++ b/src/egl/main/eglcompiler.h > > @@ -37,7 +37,8 @@ > > /** > > * Get standard integer types > > */ > > -#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) > > +#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \ > > +(defined(_MSC_VER) && _MSC_VER >= 1600) > > > > VS 2010 is where the support for beings. This can be verified by > a quick Google search. Actually, "_MSC_VER >= 1600" is VS 2010. So only the patch subject needs updating. Jose ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [Mesa-stable] A candidate branch for the next stable release
On 02/05/14 01:08, Carl Worth wrote: > Carl Worth writes: >> At this point, I'm just waiting for Anuj to backport two patches, then >> I'll test and push out the latest state as reflected here: > > Anuj gave me the updated patches, and testing looks good. I've pushed > out this state now: > > http://cworth.org/~cworth/mesa-stable-queue/ > > with only 5 nominated patches not in (not yet on master). > A quick look at the five patches: dri3: Enable GLX_MESA_query_renderer on DRI3 too Had some trivial nitpick with it earlier, which is not a reason for the patch to not go in as is. Pushed to master - commit 625bdd64e5ea3327d4459b1ff8dab89129d0. mesa: Don't use derived vertex state in api_arrayelt.c Awaiting review. mesa: Remove redundant if checks in _mesa_texstore_xx_xx() functions Never (?) been nominated to stable. Reviewed and merged in master - commit ef924f0de93accff2ea12dbd90cc3c1df794c8f5 glsl: Try vectorizing when seeing a repeated assignment to a channel. Reviewed and merged in master - commit ae2a03b5736037128fb071595717f300d5b3afd5 wayland: Prevent zero sized wl_egl_window Not reviewed but already in master - commit c9d6898fdfd7e23306762af9bf2501a5bca1974 Hope that helps a bit. -Emil > This looks pretty good to me, and I'll release it tomorrow unless I hear > some reason not to. > > -Carl > > > > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/9] configure.ac: radeonsi requires EGL_DRM and GBM
On 26/04/14 14:27, Marek Olšák wrote: > From: Marek Olšák > > --- > configure.ac | 14 ++ > 1 file changed, 14 insertions(+) > > diff --git a/configure.ac b/configure.ac > index c71fa26..b2ea8ca 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -1738,6 +1738,19 @@ gallium_require_drm_loader() { > fi > } > > +require_egl_drm() { > +case "$with_egl_platforms" in > +*drm*) > +;; > + *) > +AC_MSG_ERROR([--with-egl-platforms=drm is required to build the > $1 driver.]) > +;; > +esac > +if test "x$enable_gbm" != xyes; then > +AC_MSG_ERROR([--enable-gbm is required to build the $1 driver.]) > +fi > +} > + Hi Marek, I'm not sure if the patch does exactly what you expect it to. AFAICS, based on the above you require the drm egl platform with radeonsi, although it will break the build for people that do not build gbm/egl. Do I take it that radeonsi is available/usable _only_ when gbm + drm egl is build ? Otherwise just wrap the above in a if test "x$enable_egl" = xyes; then fi Cheers, -Emil ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] recent build breakage w.r.t. dri3
I don't have time to investigate right now, but a recent Mesa commit seems to have broke some of our automated builds on Linux: With SCONS: scons: done reading SConscript files. scons: Building targets ... Compiling src/gallium/state_trackers/egl/x11/x11_screen.c ... Compiling src/gallium/state_trackers/egl/x11/dri2.c ... Compiling src/glx/dri2.c ... Compiling src/glx/dri2_glx.c ... Compiling src/glx/dri2_query_renderer.c ... In file included from src/glx/dri2_query_renderer.c:31:0: src/glx/dri3_priv.h:58:22: fatal error: xcb/dri3.h: No such file or directory #include ^ compilation terminated. Compiling src/glx/dri_glx.c ... scons: *** [build/linux-x86_64-checked/glx/dri2_query_renderer.os] Error 1 scons: building terminated because of errors. With make: CC glxhash.lo CC dri2_glx.lo CC dri2.lo CC dri2_query_renderer.lo CC applegl_glx.lo In file included from dri2_query_renderer.c:31:0: dri3_priv.h:58:22: fatal error: xcb/dri3.h: No such file or directory #include ^ compilation terminated. make[3]: *** [dri2_query_renderer.lo] Error 1 make[3]: Leaving directory `/var/lib/hudson/jobs/mesa-ubuntu64-make/workspace/src/glx' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/lib/hudson/jobs/mesa-ubuntu64-make/workspace/src/glx' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/lib/hudson/jobs/mesa-ubuntu64-make/workspace/src' make: *** [all-recursive] Error 1 It would be great if someone could check on this. -Brian ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] recent build breakage w.r.t. dri3
On Fri, May 2, 2014 at 5:51 PM, Brian Paul wrote: > I don't have time to investigate right now, but a recent Mesa commit seems > to have broke some of our automated builds on Linux: > > With SCONS: > > scons: done reading SConscript files. > scons: Building targets ... > Compiling src/gallium/state_trackers/egl/x11/x11_screen.c ... > Compiling src/gallium/state_trackers/egl/x11/dri2.c ... > Compiling src/glx/dri2.c ... > Compiling src/glx/dri2_glx.c ... > Compiling src/glx/dri2_query_renderer.c ... > In file included from src/glx/dri2_query_renderer.c:31:0: > src/glx/dri3_priv.h:58:22: fatal error: xcb/dri3.h: No such file or > directory > #include > ^ > compilation terminated. > Compiling src/glx/dri_glx.c ... > scons: *** [build/linux-x86_64-checked/glx/dri2_query_renderer.os] Error 1 > scons: building terminated because of errors. > > > With make: > > CC glxhash.lo > CC dri2_glx.lo > CC dri2.lo > CC dri2_query_renderer.lo > CC applegl_glx.lo > In file included from dri2_query_renderer.c:31:0: > dri3_priv.h:58:22: fatal error: xcb/dri3.h: No such file or directory > #include > ^ > compilation terminated. > make[3]: *** [dri2_query_renderer.lo] Error 1 > make[3]: Leaving directory > `/var/lib/hudson/jobs/mesa-ubuntu64-make/workspace/src/glx' > make[2]: *** [all-recursive] Error 1 > make[2]: Leaving directory > `/var/lib/hudson/jobs/mesa-ubuntu64-make/workspace/src/glx' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory > `/var/lib/hudson/jobs/mesa-ubuntu64-make/workspace/src' > make: *** [all-recursive] Error 1 > > It would be great if someone could check on this. It's: http://cgit.freedesktop.org/mesa/mesa/commit/?id=625bdd64e5ea3327d4459b1ff8dab89129d0 Alex ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] recent build breakage w.r.t. dri3
On 05/02/2014 11:51 PM, Brian Paul wrote: > I don't have time to investigate right now, but a recent Mesa commit > seems to have broke some of our automated builds on Linux: > > With SCONS: > > scons: done reading SConscript files. > scons: Building targets ... > Compiling src/gallium/state_trackers/egl/x11/x11_screen.c ... > Compiling src/gallium/state_trackers/egl/x11/dri2.c ... > Compiling src/glx/dri2.c ... > Compiling src/glx/dri2_glx.c ... > Compiling src/glx/dri2_query_renderer.c ... > In file included from src/glx/dri2_query_renderer.c:31:0: > src/glx/dri3_priv.h:58:22: fatal error: xcb/dri3.h: No such file or > directory > #include > ^ > compilation terminated. > Compiling src/glx/dri_glx.c ... > scons: *** [build/linux-x86_64-checked/glx/dri2_query_renderer.os] Error 1 > scons: building terminated because of errors. > > > With make: > > CC glxhash.lo > CC dri2_glx.lo > CC dri2.lo > CC dri2_query_renderer.lo > CC applegl_glx.lo > In file included from dri2_query_renderer.c:31:0: > dri3_priv.h:58:22: fatal error: xcb/dri3.h: No such file or directory > #include > ^ > compilation terminated. > make[3]: *** [dri2_query_renderer.lo] Error 1 > make[3]: Leaving directory > `/var/lib/hudson/jobs/mesa-ubuntu64-make/workspace/src/glx' > make[2]: *** [all-recursive] Error 1 > make[2]: Leaving directory > `/var/lib/hudson/jobs/mesa-ubuntu64-make/workspace/src/glx' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory > `/var/lib/hudson/jobs/mesa-ubuntu64-make/workspace/src' > make: *** [all-recursive] Error 1 > > It would be great if someone could check on this. > > -Brian > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev Does the attached patch fix the build for you? -- Note: My last name is not Krejzi. >From f83c41c6e3cca790cdfe9415c667cb7c379e6ceb Mon Sep 17 00:00:00 2001 From: Armin K Date: Fri, 2 May 2014 23:59:22 +0200 Subject: [PATCH] glx: Conditionally compile GLX_MESA_query_renderer DRI3 support --- src/glx/dri2_query_renderer.c | 4 1 file changed, 4 insertions(+) diff --git a/src/glx/dri2_query_renderer.c b/src/glx/dri2_query_renderer.c index c96e1f9..c1e8772 100644 --- a/src/glx/dri2_query_renderer.c +++ b/src/glx/dri2_query_renderer.c @@ -28,7 +28,9 @@ #include "dri2.h" #include "dri_interface.h" #include "dri2_priv.h" +#if defined(HAVE_DRI3) #include "dri3_priv.h" +#endif static int dri2_convert_glx_query_renderer_attribs(int attribute) @@ -99,6 +101,7 @@ dri2_query_renderer_string(struct glx_screen *base, int attribute, return psc->rendererQuery->queryString(psc->driScreen, dri_attribute, value); } +#if defined(HAVE_DRI3) _X_HIDDEN int dri3_query_renderer_integer(struct glx_screen *base, int attribute, unsigned int *value) @@ -136,5 +139,6 @@ dri3_query_renderer_string(struct glx_screen *base, int attribute, return psc->rendererQuery->queryString(psc->driScreen, dri_attribute, value); } +#endif /* HAVE_DRI3 */ #endif /* GLX_DIRECT_RENDERING */ -- 1.9.2 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/9] configure.ac: radeonsi requires EGL_DRM and GBM
Radeonsi requires Glamor and Glamor requires GBM and EGL DRM. Without the two, there is no way to get acceleration. Marek On Fri, May 2, 2014 at 11:31 PM, Emil Velikov wrote: > On 26/04/14 14:27, Marek Olšák wrote: >> From: Marek Olšák >> >> --- >> configure.ac | 14 ++ >> 1 file changed, 14 insertions(+) >> >> diff --git a/configure.ac b/configure.ac >> index c71fa26..b2ea8ca 100644 >> --- a/configure.ac >> +++ b/configure.ac >> @@ -1738,6 +1738,19 @@ gallium_require_drm_loader() { >> fi >> } >> >> +require_egl_drm() { >> +case "$with_egl_platforms" in >> +*drm*) >> +;; >> + *) >> +AC_MSG_ERROR([--with-egl-platforms=drm is required to build the >> $1 driver.]) >> +;; >> +esac >> +if test "x$enable_gbm" != xyes; then >> +AC_MSG_ERROR([--enable-gbm is required to build the $1 driver.]) >> +fi >> +} >> + > Hi Marek, > > I'm not sure if the patch does exactly what you expect it to. > > AFAICS, based on the above you require the drm egl platform with radeonsi, > although it will break the build for people that do not build gbm/egl. > > Do I take it that radeonsi is available/usable _only_ when gbm + drm egl is > build ? Otherwise just wrap the above in a > > if test "x$enable_egl" = xyes; then > > fi > > Cheers, > -Emil ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] recent build breakage w.r.t. dri3
On 02/05/14 23:01, Armin K. wrote: > On 05/02/2014 11:51 PM, Brian Paul wrote: >> I don't have time to investigate right now, but a recent Mesa commit >> seems to have broke some of our automated builds on Linux: >> >> With SCONS: >> >> scons: done reading SConscript files. >> scons: Building targets ... >> Compiling src/gallium/state_trackers/egl/x11/x11_screen.c ... >> Compiling src/gallium/state_trackers/egl/x11/dri2.c ... >> Compiling src/glx/dri2.c ... >> Compiling src/glx/dri2_glx.c ... >> Compiling src/glx/dri2_query_renderer.c ... >> In file included from src/glx/dri2_query_renderer.c:31:0: >> src/glx/dri3_priv.h:58:22: fatal error: xcb/dri3.h: No such file or >> directory >> #include >> ^ >> compilation terminated. >> Compiling src/glx/dri_glx.c ... >> scons: *** [build/linux-x86_64-checked/glx/dri2_query_renderer.os] Error 1 >> scons: building terminated because of errors. >> >> >> With make: >> >> CC glxhash.lo >> CC dri2_glx.lo >> CC dri2.lo >> CC dri2_query_renderer.lo >> CC applegl_glx.lo >> In file included from dri2_query_renderer.c:31:0: >> dri3_priv.h:58:22: fatal error: xcb/dri3.h: No such file or directory >> #include >> ^ >> compilation terminated. >> make[3]: *** [dri2_query_renderer.lo] Error 1 >> make[3]: Leaving directory >> `/var/lib/hudson/jobs/mesa-ubuntu64-make/workspace/src/glx' >> make[2]: *** [all-recursive] Error 1 >> make[2]: Leaving directory >> `/var/lib/hudson/jobs/mesa-ubuntu64-make/workspace/src/glx' >> make[1]: *** [all-recursive] Error 1 >> make[1]: Leaving directory >> `/var/lib/hudson/jobs/mesa-ubuntu64-make/workspace/src' >> make: *** [all-recursive] Error 1 >> >> It would be great if someone could check on this. >> >> -Brian >> ___ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev > > Does the attached patch fix the build for you? > Sorry for the breakage gents. The attached patch does resolve the problem on my system, and is obviously the right thing to do. Thanks Armin. I've slapped the following two and pushed to master. Cc: "10.1" Reviewed-by: Emil Velikov -Emil ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [Mesa-stable] A candidate branch for the next stable release
Emil Velikov writes: > Had some trivial nitpick with it earlier, which is not a reason for the patch > to not go in as is. Pushed to master - commit > 625bdd64e5ea3327d4459b1ff8dab89129d0 Thanks for the review and push! > mesa: Remove redundant if checks in _mesa_texstore_xx_xx() functions > > Never (?) been nominated to stable. Reviewed and merged in master - commit > ef924f0de93accff2ea12dbd90cc3c1df794c8f5 That's odd. I wonder how it ended up on my list. Clearly some mistake I made. > glsl: Try vectorizing when seeing a repeated assignment to a channel. > > Reviewed and merged in master - commit > ae2a03b5736037128fb071595717f300d5b3afd5 Not only merged in master. This one was included as part of the 10.1.1 release already. No wonder I wasn't seeing it appear on master after that. ;-) So that's another one that simply didn't belong on my list. > wayland: Prevent zero sized wl_egl_window > > Not reviewed but already in master - commit > c9d6898fdfd7e23306762af9bf2501a5bca1974 Ahah! It looks like this was a case where Ander was doing an after-the-fact nomination of a commit that was already on master. But since it was sent to the mesa-stable@ list as a patch, I mistakenly thought it was a newly-proposed patch, so I was waiting for it to appear on master. I'll update the instructions for after-the-fact nominations to suggest sending a sentence with a commit ID: Please pick commit to the stable branch. rather than instructing people to send patches in this case. And that should avoid the confusion. > Hope that helps a bit. Yes. Very much. Thanks for tracking down the details of each of these. It will be nice to have a stable release with a nearly-empty list of nominated-but-not-yet-applied patches. -Carl pgpmlDBwGDgJl.pgp Description: PGP signature ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/9] configure.ac: radeonsi requires EGL_DRM and GBM
On 02/05/14 23:14, Marek Olšák wrote: > Radeonsi requires Glamor and Glamor requires GBM and EGL DRM. Without > the two, there is no way to get acceleration. > Completely forgot that radeonsi uses glamor. Sorry for the noise. -Emil > Marek > > On Fri, May 2, 2014 at 11:31 PM, Emil Velikov > wrote: >> On 26/04/14 14:27, Marek Olšák wrote: >>> From: Marek Olšák >>> >>> --- >>> configure.ac | 14 ++ >>> 1 file changed, 14 insertions(+) >>> >>> diff --git a/configure.ac b/configure.ac >>> index c71fa26..b2ea8ca 100644 >>> --- a/configure.ac >>> +++ b/configure.ac >>> @@ -1738,6 +1738,19 @@ gallium_require_drm_loader() { >>> fi >>> } >>> >>> +require_egl_drm() { >>> +case "$with_egl_platforms" in >>> +*drm*) >>> +;; >>> + *) >>> +AC_MSG_ERROR([--with-egl-platforms=drm is required to build >>> the $1 driver.]) >>> +;; >>> +esac >>> +if test "x$enable_gbm" != xyes; then >>> +AC_MSG_ERROR([--enable-gbm is required to build the $1 >>> driver.]) >>> +fi >>> +} >>> + >> Hi Marek, >> >> I'm not sure if the patch does exactly what you expect it to. >> >> AFAICS, based on the above you require the drm egl platform with radeonsi, >> although it will break the build for people that do not build gbm/egl. >> >> Do I take it that radeonsi is available/usable _only_ when gbm + drm egl is >> build ? Otherwise just wrap the above in a >> >> if test "x$enable_egl" = xyes; then >> >> fi >> >> Cheers, >> -Emil ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] recent build breakage w.r.t. dri3
On 05/02/2014 04:23 PM, Emil Velikov wrote: On 02/05/14 23:01, Armin K. wrote: On 05/02/2014 11:51 PM, Brian Paul wrote: I don't have time to investigate right now, but a recent Mesa commit seems to have broke some of our automated builds on Linux: With SCONS: scons: done reading SConscript files. scons: Building targets ... Compiling src/gallium/state_trackers/egl/x11/x11_screen.c ... Compiling src/gallium/state_trackers/egl/x11/dri2.c ... Compiling src/glx/dri2.c ... Compiling src/glx/dri2_glx.c ... Compiling src/glx/dri2_query_renderer.c ... In file included from src/glx/dri2_query_renderer.c:31:0: src/glx/dri3_priv.h:58:22: fatal error: xcb/dri3.h: No such file or directory #include ^ compilation terminated. Compiling src/glx/dri_glx.c ... scons: *** [build/linux-x86_64-checked/glx/dri2_query_renderer.os] Error 1 scons: building terminated because of errors. With make: CC glxhash.lo CC dri2_glx.lo CC dri2.lo CC dri2_query_renderer.lo CC applegl_glx.lo In file included from dri2_query_renderer.c:31:0: dri3_priv.h:58:22: fatal error: xcb/dri3.h: No such file or directory #include ^ compilation terminated. make[3]: *** [dri2_query_renderer.lo] Error 1 make[3]: Leaving directory `/var/lib/hudson/jobs/mesa-ubuntu64-make/workspace/src/glx' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/lib/hudson/jobs/mesa-ubuntu64-make/workspace/src/glx' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/lib/hudson/jobs/mesa-ubuntu64-make/workspace/src' make: *** [all-recursive] Error 1 It would be great if someone could check on this. -Brian ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://urldefense.proofpoint.com/v1/url?u=http://lists.freedesktop.org/mailman/listinfo/mesa-dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=lGQMzzTgII0I7jefp2FHq7WtZ%2BTLs8wadB%2BiIj9xpBY%3D%0A&m=3Wv2C6h%2FGq%2BW%2Fe5ajUPMNrTehyoUJpOMV%2BDnavdvQIk%3D%0A&s=d6c9417208d65c58d8137015a63070b8671838677cb6e0c72cd3448f57d76f60 Does the attached patch fix the build for you? Sorry for the breakage gents. The attached patch does resolve the problem on my system, and is obviously the right thing to do. Thanks Armin. I've slapped the following two and pushed to master. Yup, that fixed it. Thanks! -Brian ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [Mesa-stable] A candidate branch for the next stable release
On 02/05/14 23:25, Carl Worth wrote: > Emil Velikov writes: >> Had some trivial nitpick with it earlier, which is not a reason for the patch >> to not go in as is. Pushed to master - commit >> 625bdd64e5ea3327d4459b1ff8dab89129d0 > > Thanks for the review and push! > Which has caused a build breakage (fixed with commit 0b307afd57082f0d4a0e8ba19093d313c9fb46ad) :\ >> mesa: Remove redundant if checks in _mesa_texstore_xx_xx() functions >> >> Never (?) been nominated to stable. Reviewed and merged in master - commit >> ef924f0de93accff2ea12dbd90cc3c1df794c8f5 > > That's odd. I wonder how it ended up on my list. Clearly some mistake I > made. > >> glsl: Try vectorizing when seeing a repeated assignment to a channel. >> >> Reviewed and merged in master - commit >> ae2a03b5736037128fb071595717f300d5b3afd5 > > Not only merged in master. This one was included as part of the 10.1.1 > release already. No wonder I wasn't seeing it appear on master after > that. ;-) > > So that's another one that simply didn't belong on my list. > >> wayland: Prevent zero sized wl_egl_window >> >> Not reviewed but already in master - commit >> c9d6898fdfd7e23306762af9bf2501a5bca1974 > > Ahah! It looks like this was a case where Ander was doing an > after-the-fact nomination of a commit that was already on master. But > since it was sent to the mesa-stable@ list as a patch, I mistakenly > thought it was a newly-proposed patch, so I was waiting for it to appear > on master. > > I'll update the instructions for after-the-fact nominations to suggest > sending a sentence with a commit ID: > > Please pick commit to the stable branch. > > rather than instructing people to send patches in this case. > > And that should avoid the confusion. > Hmm I seem to recall that this was documented already. Perhaps was only discussed but never made it into the documentation ? >> Hope that helps a bit. > > Yes. Very much. Thanks for tracking down the details of each of > these. It will be nice to have a stable release with a nearly-empty list > of nominated-but-not-yet-applied patches. > Glad I could help. -Emil > -Carl > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] recent build breakage w.r.t. dri3
Emil Velikov writes: > Sorry for the breakage gents. > > The attached patch does resolve the problem on my system, and is obviously the > right thing to do. Thanks Armin. > > I've slapped the following two and pushed to master. Thanks, Emil. > Cc: "10.1" I've picked this over to the stable branch, (where I also squashed it into the previously-picked commit being fixed). -Carl -- carl.d.wo...@intel.com pgp8dRKCKkl13.pgp Description: PGP signature ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 00/21] deferred and threaded glCompileShader
This series adds a thread pool to the GLSL compiler, and a drirc option to defer glCompileShader calls to the pool. The goal is to reduce the start-up time of applications that are aware of this feature. That is, applications that compile shaders first and check the compile status later. I do not have numbers from real applications yet. I believe I can help with that. Some more context on the intent: we're having this work done because shader compilation time on OpenGL is a real issue that both end-users and developers run into on a daily basis. Threaded compiles and lazy shader reflection have been part of the D3D ecosystem for a long while. Here's a sample that contains several data points to put this into perspective: https://github.com/ValveSoftware/Dota-2/issues/661 I'm happy to say that when applying this patch series to my Mesa branch and changing ToGL in DOTA2 to perform lazy shader reflection, I'm seeing a 20s reduction in loading times across the board on a Brix Pro machine, from starting the client to getting in-game. This is a very promising start and I will be merging this patch series to the SteamOS Mesa branch, and ship it as part of our next driver release cycle. We will also be releasing updated builds of CS:GO and DOTA2 for Linux to take advantage of that feature; we encourage developers shipping on Linux to use that same pattern when compiling their shaders as well as enabling this new feature in their environment, as it's too good to pass on. Thanks a lot, - Pierre-Loup ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] i965: Set miptree target field when creating from a BO.
Kenneth Graunke writes: > Prior to commit 8435b60a3577d2d905eae189cd7e770500177e99, the region > equivalent of this function called intel_miptree_create_layout, which > set mt->target to target. With that commit, it no longer copied target. > > Piglit's ext_image_dma_buf_import-sample_[xa]rgb tests would then > hit an assertion failure, where image->TexObject->Target was > GL_TEXTURE_EXTERNAL_OES, and mt->target was GL_TEXTURE_2D. Reviewed-by: Eric Anholt pgpMuyOxoJNIp.pgp Description: PGP signature ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 1/3] gallium: add support for sampling from stencil of depth_stencil texture
Adds a PIPE_CAP_STENCIL_SAMPLING to indicate support for the feature, and a stencil_sampling bit in pipe_sampler_view to indicate that the stencil should be sampled instead of the depth. Signed-off-by: Ilia Mirkin --- src/gallium/docs/source/screen.rst | 3 ++- src/gallium/drivers/freedreno/freedreno_screen.c | 1 + src/gallium/drivers/i915/i915_screen.c | 1 + src/gallium/drivers/ilo/ilo_screen.c | 1 + src/gallium/drivers/llvmpipe/lp_screen.c | 1 + src/gallium/drivers/nouveau/nv30/nv30_screen.c | 1 + src/gallium/drivers/nouveau/nv50/nv50_screen.c | 1 + src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 1 + src/gallium/drivers/r300/r300_screen.c | 1 + src/gallium/drivers/r600/r600_pipe.c | 1 + src/gallium/drivers/radeonsi/si_pipe.c | 1 + src/gallium/drivers/softpipe/sp_screen.c | 1 + src/gallium/drivers/svga/svga_screen.c | 1 + src/gallium/include/pipe/p_defines.h | 1 + src/gallium/include/pipe/p_state.h | 1 + 15 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/gallium/docs/source/screen.rst b/src/gallium/docs/source/screen.rst index b292257..1451ad6 100644 --- a/src/gallium/docs/source/screen.rst +++ b/src/gallium/docs/source/screen.rst @@ -202,7 +202,8 @@ The integer capabilities: implemented. * ``PIPE_CAP_TEXTURE_GATHER_OFFSETS``: Whether the ``TG4`` instruction can accept 4 offsets. - +* ``PIPE_CAP_STENCIL_SAMPLING``: Whether sampling can be done on the stencil + component of DEPTH_STENCIL textures. Flag passed in ``pipe_sampler_view``. .. _pipe_capf: diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c index 4de3e3f..45390ed 100644 --- a/src/gallium/drivers/freedreno/freedreno_screen.c +++ b/src/gallium/drivers/freedreno/freedreno_screen.c @@ -210,6 +210,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_TEXTURE_QUERY_LOD: case PIPE_CAP_SAMPLE_SHADING: case PIPE_CAP_TEXTURE_GATHER_OFFSETS: + case PIPE_CAP_STENCIL_SAMPLING: return 0; /* Stream output. */ diff --git a/src/gallium/drivers/i915/i915_screen.c b/src/gallium/drivers/i915/i915_screen.c index dfd7a2e..abc1d9b 100644 --- a/src/gallium/drivers/i915/i915_screen.c +++ b/src/gallium/drivers/i915/i915_screen.c @@ -222,6 +222,7 @@ i915_get_param(struct pipe_screen *screen, enum pipe_cap cap) case PIPE_CAP_TEXTURE_QUERY_LOD: case PIPE_CAP_SAMPLE_SHADING: case PIPE_CAP_TEXTURE_GATHER_OFFSETS: + case PIPE_CAP_STENCIL_SAMPLING: return 0; case PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS: diff --git a/src/gallium/drivers/ilo/ilo_screen.c b/src/gallium/drivers/ilo/ilo_screen.c index 0a1c56d..8862b55 100644 --- a/src/gallium/drivers/ilo/ilo_screen.c +++ b/src/gallium/drivers/ilo/ilo_screen.c @@ -441,6 +441,7 @@ ilo_get_param(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_TEXTURE_QUERY_LOD: case PIPE_CAP_SAMPLE_SHADING: case PIPE_CAP_TEXTURE_GATHER_OFFSETS: + case PIPE_CAP_STENCIL_SAMPLING: return 0; default: diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c index e236802..14bea7e 100644 --- a/src/gallium/drivers/llvmpipe/lp_screen.c +++ b/src/gallium/drivers/llvmpipe/lp_screen.c @@ -243,6 +243,7 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_TEXTURE_QUERY_LOD: case PIPE_CAP_SAMPLE_SHADING: case PIPE_CAP_TEXTURE_GATHER_OFFSETS: + case PIPE_CAP_STENCIL_SAMPLING: return 0; case PIPE_CAP_FAKE_SW_MSAA: return 1; diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c b/src/gallium/drivers/nouveau/nv30/nv30_screen.c index 7157e0c..5734169 100644 --- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c +++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c @@ -137,6 +137,7 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_TEXTURE_QUERY_LOD: case PIPE_CAP_SAMPLE_SHADING: case PIPE_CAP_TEXTURE_GATHER_OFFSETS: + case PIPE_CAP_STENCIL_SAMPLING: return 0; case PIPE_CAP_VERTEX_BUFFER_OFFSET_4BYTE_ALIGNED_ONLY: case PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY: diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c b/src/gallium/drivers/nouveau/nv50/nv50_screen.c index fcac3c1..881da0e 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c @@ -119,6 +119,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_TWO_SIDED_STENCIL: case PIPE_CAP_DEPTH_CLIP_DISABLE: case PIPE_CAP_POINT_SPRITE: + case PIPE_CAP_STENCIL_SAMPLING: return 1; case PIPE_CAP_SM3: return 1; diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.
[Mesa-dev] [PATCH 2/3] nv50, nvc0: add support for stencil sampling from depth_stencil textures
Signed-off-by: Ilia Mirkin --- src/gallium/drivers/nouveau/nv50/nv50_tex.c | 12 src/gallium/drivers/nouveau/nvc0/nvc0_tex.c | 12 2 files changed, 24 insertions(+) diff --git a/src/gallium/drivers/nouveau/nv50/nv50_tex.c b/src/gallium/drivers/nouveau/nv50/nv50_tex.c index 5cfce3a..acb28fd 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_tex.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_tex.c @@ -103,6 +103,18 @@ nv50_create_texture_view(struct pipe_context *pipe, tex_int = util_format_is_pure_integer(view->pipe.format); + if (templ->stencil_sampling) { + /* flip between C0 and C1 for r */ + tic[0] ^= 1 << NV50_TIC_0_MAPR__SHIFT; + /* clear out g/b/a */ + tic[0] &= ~(NV50_TIC_0_MAPG__MASK | + NV50_TIC_0_MAPB__MASK | + NV50_TIC_0_MAPA__MASK); + /* set a to 1 */ + tic[0] |= NV50_TIC_MAP_ONE_INT << NV50_TIC_0_MAPA__SHIFT; + tex_int = 1; + } + swz[0] = nv50_tic_swizzle(tic[0], view->pipe.swizzle_r, tex_int); swz[1] = nv50_tic_swizzle(tic[0], view->pipe.swizzle_g, tex_int); swz[2] = nv50_tic_swizzle(tic[0], view->pipe.swizzle_b, tex_int); diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_tex.c b/src/gallium/drivers/nouveau/nvc0/nvc0_tex.c index 1b11bd0..ef0047f 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_tex.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_tex.c @@ -106,6 +106,18 @@ nvc0_create_texture_view(struct pipe_context *pipe, tex_int = util_format_is_pure_integer(view->pipe.format); + if (templ->stencil_sampling) { + /* flip between C0 and C1 for r */ + tic[0] ^= 1 << NV50_TIC_0_MAPR__SHIFT; + /* clear out g/b/a */ + tic[0] &= ~(NV50_TIC_0_MAPG__MASK | + NV50_TIC_0_MAPB__MASK | + NV50_TIC_0_MAPA__MASK); + /* set a to 1 */ + tic[0] |= NV50_TIC_MAP_ONE_INT << NV50_TIC_0_MAPA__SHIFT; + tex_int = 1; + } + swz[0] = nv50_tic_swizzle(tic[0], view->pipe.swizzle_r, tex_int); swz[1] = nv50_tic_swizzle(tic[0], view->pipe.swizzle_g, tex_int); swz[2] = nv50_tic_swizzle(tic[0], view->pipe.swizzle_b, tex_int); -- 1.8.3.2 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 3/3] mesa/st: pass stencil sampling flag along in pipe_sampler_view
Also enable ARB_stencil_texturing when PIPE_CAP_STENCIL_SAMPLING is set. Signed-off-by: Ilia Mirkin --- src/mesa/state_tracker/st_atom_texture.c | 3 +++ src/mesa/state_tracker/st_extensions.c | 1 + 2 files changed, 4 insertions(+) diff --git a/src/mesa/state_tracker/st_atom_texture.c b/src/mesa/state_tracker/st_atom_texture.c index afc6d9d..21c965b 100644 --- a/src/mesa/state_tracker/st_atom_texture.c +++ b/src/mesa/state_tracker/st_atom_texture.c @@ -253,6 +253,8 @@ st_create_texture_sampler_view_from_stobj(struct pipe_context *pipe, templ.swizzle_a = GET_SWZ(swizzle, 3); } + templ.stencil_sampling = stObj->base.StencilSampling; + return pipe->create_sampler_view(pipe, stObj->pt, &templ); } @@ -275,6 +277,7 @@ st_get_texture_sampler_view_from_stobj(struct st_context *st, if (*sv) { if (check_sampler_swizzle(stObj, *sv) || (format != (*sv)->format) || + stObj->base.StencilSampling != (*sv)->stencil_sampling || stObj->base.BaseLevel != (*sv)->u.tex.first_level) { pipe_sampler_view_reference(sv, NULL); } diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 33cd129..16e25c1 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -427,6 +427,7 @@ void st_init_extensions(struct st_context *st) { o(ARB_texture_multisample), PIPE_CAP_TEXTURE_MULTISAMPLE }, { o(ARB_texture_query_lod),PIPE_CAP_TEXTURE_QUERY_LOD }, { o(ARB_sample_shading), PIPE_CAP_SAMPLE_SHADING }, + { o(ARB_stencil_texturing),PIPE_CAP_STENCIL_SAMPLING }, }; /* Required: render target and sampler support */ -- 1.8.3.2 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH] st/egl: Flush resources before presentation (android - bug 77966)
--- src/gallium/state_trackers/egl/android/native_android.cpp | 7 +++ 1 file changed, 7 insertions(+) diff --git a/src/gallium/state_trackers/egl/android/native_android.cpp b/src/gallium/state_trackers/egl/android/native_android.cpp index e73d031..8620ed8 100644 --- a/src/gallium/state_trackers/egl/android/native_android.cpp +++ b/src/gallium/state_trackers/egl/android/native_android.cpp @@ -396,6 +396,13 @@ android_surface_swap_buffers(struct native_surface *nsurf) struct android_surface *asurf = android_surface(nsurf); struct android_display *adpy = asurf->adpy; + struct native_display *ndpy = &adpy->base; + struct pipe_context *pipe = ndpy_get_copy_context(ndpy); + + /* flush buffer */ + pipe->flush_resource(pipe, asurf->buf_res); + pipe->flush(pipe, NULL, 0); + android_surface_enqueue_buffer(&asurf->base); asurf->stamp++; -- 1.7.12.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] Mesa 10.2 release candidate 1
Mesa 10.2 release candidate 1 is now available for testing. The current plan of record is to have an additional release candidate each Friday until the 10.2 release on Friday, May 28th. The tag in the GIT repository for Mesa 10.2-rc1 is 'mesa-10.2-rc1'. After Eric's suggestion, I have also pushed a tag '10.2-branchpoint' the mark the point where master and 10.2 diverge. This should make git-describe a bit more useful. Mesa 10.2 release candidate 1 is available for download at ftp://freedesktop.org/pub/mesa/10.2/ md5sums: d4653afa83e584291bf00687913163b0 MesaLib-10.2.0-rc1.tar.gz 7b34588043453e86628037566c4785e3 MesaLib-10.2.0-rc1.tar.bz2 70d8f39a48a4d8b10d05f9691f5cbfba MesaLib-10.2.0-rc1.zip I have verified building from the .tar.bz2 file by doing the following on my aging Fedora 18 system: tar -xjf Mesa-10.2.0-rc1.tar.bz2 cd Mesa-10.2.0-rc1 ./configure --enable-gallium-llvm --with-llvm-shared-libs make -j6 make install signature.asc Description: OpenPGP digital signature ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev