Mesa (master): intel/blorp: Fix compiler warning about num_layers.
Module: Mesa Branch: master Commit: 4d8b476fa9a01aef94dc2d83e9306ba7c5adbe7f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4d8b476fa9a01aef94dc2d83e9306ba7c5adbe7f Author: Eric AnholtDate: Sat Feb 10 10:29:56 2018 + intel/blorp: Fix compiler warning about num_layers. The compiler doesn't notice that the condition for num_layers to be undefined already defined it above (as our assert checked in a debug build). v2: Move the pair of assignments to one outside of the block. Reviewed-by: Lionel Landwerlin --- src/mesa/drivers/dri/i965/brw_blorp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c b/src/mesa/drivers/dri/i965/brw_blorp.c index 72c5d194ef..72578b6ea5 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp.c +++ b/src/mesa/drivers/dri/i965/brw_blorp.c @@ -1426,8 +1426,8 @@ brw_blorp_clear_depth_stencil(struct brw_context *brw, } else { level = irb->mt_level; start_layer = irb->mt_layer; - num_layers = fb->MaxNumLayers ? irb->layer_count : 1; } + num_layers = fb->MaxNumLayers ? irb->layer_count : 1; stencil_mask = ctx->Stencil.WriteMask[0] & 0xff; ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): radv: add support for VK_EXT_depth_range_unrestricted
Module: Mesa Branch: master Commit: f0211155f14c890e0c771a4fb51663c48eca983c URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f0211155f14c890e0c771a4fb51663c48eca983c Author: Samuel PitoisetDate: Fri Mar 16 16:39:27 2018 +0100 radv: add support for VK_EXT_depth_range_unrestricted This extension removes the restrictions on minDepth/maxDepth, minDepthBounds/maxDepthBounds and VkClearDepthStencilValue::depth. The following CTS tests now pass: dEQP-VK.glsl.builtin_var.fragdepth.line_list_d32_sfloat_large_depth dEQP-VK.glsl.builtin_var.fragdepth.point_list_d32_sfloat_large_depth dEQP-VK.glsl.builtin_var.fragdepth.triangle_list_d32_sfloat_large_depth dEQP-VK.draw.inverted_depth_ranges.nodepthclamp_depth_range_unrestricted dEQP-VK.draw.inverted_depth_ranges.depthclamp_depth_range_unrestricted Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- src/amd/vulkan/radv_extensions.py | 1 + src/amd/vulkan/radv_pipeline.c| 22 ++ 2 files changed, 23 insertions(+) diff --git a/src/amd/vulkan/radv_extensions.py b/src/amd/vulkan/radv_extensions.py index bfee1f76fa..896cc62459 100644 --- a/src/amd/vulkan/radv_extensions.py +++ b/src/amd/vulkan/radv_extensions.py @@ -86,6 +86,7 @@ EXTENSIONS = [ Extension('VK_KHR_xlib_surface', 6, 'VK_USE_PLATFORM_XLIB_KHR'), Extension('VK_KHR_multiview', 1, True), Extension('VK_EXT_debug_report', 9, True), +Extension('VK_EXT_depth_range_unrestricted', 1, True), Extension('VK_EXT_discard_rectangles',1, True), Extension('VK_EXT_external_memory_dma_buf', 1, True), Extension('VK_EXT_external_memory_host', 1, 'device->rad_info.has_userptr'), diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 89c5e69941..dd5baec117 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -2198,9 +2198,11 @@ radv_pipeline_generate_depth_stencil_state(struct radeon_winsys_cs *cs, const VkPipelineDepthStencilStateCreateInfo *vkds = pCreateInfo->pDepthStencilState; RADV_FROM_HANDLE(radv_render_pass, pass, pCreateInfo->renderPass); struct radv_subpass *subpass = pass->subpasses + pCreateInfo->subpass; + struct radv_shader_variant *ps = pipeline->shaders[MESA_SHADER_FRAGMENT]; struct radv_render_pass_attachment *attachment = NULL; uint32_t db_depth_control = 0, db_stencil_control = 0; uint32_t db_render_control = 0, db_render_override2 = 0; + uint32_t db_render_override = 0; if (subpass->depth_stencil_attachment.attachment != VK_ATTACHMENT_UNUSED) attachment = pass->attachments + subpass->depth_stencil_attachment.attachment; @@ -2242,10 +2244,30 @@ radv_pipeline_generate_depth_stencil_state(struct radeon_winsys_cs *cs, db_render_override2 |= S_028010_DISABLE_SMEM_EXPCLEAR_OPTIMIZATION(extra->db_stencil_disable_expclear); } + db_render_override |= S_02800C_FORCE_HIS_ENABLE0(V_02800C_FORCE_DISABLE) | + S_02800C_FORCE_HIS_ENABLE1(V_02800C_FORCE_DISABLE); + + if (pipeline->device->enabled_extensions.EXT_depth_range_unrestricted && + !pCreateInfo->pRasterizationState->depthClampEnable && + ps->info.info.ps.writes_z) { + /* From VK_EXT_depth_range_unrestricted spec: +* +* "The behavior described in Primitive Clipping still applies. +* If depth clamping is disabled the depth values are still +* clipped to 0 ≤ zc ≤ wc before the viewport transform. If +* depth clamping is enabled the above equation is ignored and +* the depth values are instead clamped to the VkViewport +* minDepth and maxDepth values, which in the case of this +* extension can be outside of the 0.0 to 1.0 range." +*/ + db_render_override |= S_02800C_DISABLE_VIEWPORT_CLAMP(1); + } + radeon_set_context_reg(cs, R_028800_DB_DEPTH_CONTROL, db_depth_control); radeon_set_context_reg(cs, R_02842C_DB_STENCIL_CONTROL, db_stencil_control); radeon_set_context_reg(cs, R_028000_DB_RENDER_CONTROL, db_render_control); + radeon_set_context_reg(cs, R_02800C_DB_RENDER_OVERRIDE, db_render_override); radeon_set_context_reg(cs, R_028010_DB_RENDER_OVERRIDE2, db_render_override2); } ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): radv: only enable one channel when exporting prim id
Module: Mesa Branch: master Commit: 4e9b0b39b592e2bf79ac577ec6cd091a924359ae URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4e9b0b39b592e2bf79ac577ec6cd091a924359ae Author: Samuel PitoisetDate: Tue Mar 20 10:07:30 2018 +0100 radv: only enable one channel when exporting prim id It's a 32-bit integer like the layer. Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- src/amd/vulkan/radv_nir_to_llvm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c index ad046adfdb..c8d383e021 100644 --- a/src/amd/vulkan/radv_nir_to_llvm.c +++ b/src/amd/vulkan/radv_nir_to_llvm.c @@ -2357,7 +2357,7 @@ handle_vs_outputs_post(struct radv_shader_context *ctx, for (unsigned j = 1; j < 4; j++) values[j] = ctx->ac.f32_0; - radv_export_param(ctx, param_count, values, 0xf); + radv_export_param(ctx, param_count, values, 0x1); outinfo->vs_output_param_offset[VARYING_SLOT_PRIMITIVE_ID] = param_count++; outinfo->export_prim_id = true; ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: fix out of tree autotools build
Module: Mesa Branch: master Commit: 5770e1d89e0eb49eb3c9547e8657d636b6e7e5d7 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5770e1d89e0eb49eb3c9547e8657d636b6e7e5d7 Author: Lionel LandwerlinDate: Tue Mar 20 18:31:53 2018 + i965: fix out of tree autotools build Fixes: 2d2b15fbcab ("i965: fix autotools/android build") Signed-off-by: Lionel Landwerlin Reviewed-by: Emil Velikov Reviewed-by: Mathias Fröhlich --- src/mesa/drivers/dri/i965/Makefile.am | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/Makefile.am b/src/mesa/drivers/dri/i965/Makefile.am index fe106b4257..889d4c68a2 100644 --- a/src/mesa/drivers/dri/i965/Makefile.am +++ b/src/mesa/drivers/dri/i965/Makefile.am @@ -115,6 +115,9 @@ EXTRA_DIST = \ meson.build brw_oa_metrics.c: brw_oa.py $(i965_oa_xml_FILES) - $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py --code=$(builddir)/brw_oa_metrics.c --header=$(builddir)/brw_oa_metrics.h $(i965_oa_xml_FILES) + $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py \ + --code=$(builddir)/brw_oa_metrics.c \ + --header=$(builddir)/brw_oa_metrics.h \ + $(i965_oa_xml_FILES:%=$(srcdir)/%) brw_oa_metrics.h: brw_oa_metrics.c ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): virgl: Implement seamless cube maps
Module: Mesa Branch: master Commit: 1117edc60dd2746819d1d4e3bfd809ec3a4f5902 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1117edc60dd2746819d1d4e3bfd809ec3a4f5902 Author: Stéphane MarchesinDate: Fri Mar 16 19:15:02 2018 -0700 virgl: Implement seamless cube maps This was previously ignored. Along with the virglrenderer patch, this fixes ~100 dEQP tests: dEQP-GLES3.functional.texture.filtering.cube.* Signed-off-by: Stéphane Marchesin Signed-off-by: Dave Airlie --- src/gallium/drivers/virgl/virgl_encode.c | 3 ++- src/gallium/drivers/virgl/virgl_protocol.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/virgl/virgl_encode.c b/src/gallium/drivers/virgl/virgl_encode.c index 80e60bc284..a6f6d13f85 100644 --- a/src/gallium/drivers/virgl/virgl_encode.c +++ b/src/gallium/drivers/virgl/virgl_encode.c @@ -566,7 +566,8 @@ int virgl_encode_sampler_state(struct virgl_context *ctx, VIRGL_OBJ_SAMPLE_STATE_S0_MIN_MIP_FILTER(state->min_mip_filter) | VIRGL_OBJ_SAMPLE_STATE_S0_MAG_IMG_FILTER(state->mag_img_filter) | VIRGL_OBJ_SAMPLE_STATE_S0_COMPARE_MODE(state->compare_mode) | - VIRGL_OBJ_SAMPLE_STATE_S0_COMPARE_FUNC(state->compare_func); + VIRGL_OBJ_SAMPLE_STATE_S0_COMPARE_FUNC(state->compare_func) | + VIRGL_OBJ_SAMPLE_STATE_S0_SEAMLESS_CUBE_MAP(state->seamless_cube_map); virgl_encoder_write_dword(ctx->cbuf, tmp); virgl_encoder_write_dword(ctx->cbuf, fui(state->lod_bias)); diff --git a/src/gallium/drivers/virgl/virgl_protocol.h b/src/gallium/drivers/virgl/virgl_protocol.h index 7688ac5e8e..5dc2874d1d 100644 --- a/src/gallium/drivers/virgl/virgl_protocol.h +++ b/src/gallium/drivers/virgl/virgl_protocol.h @@ -330,6 +330,7 @@ enum virgl_context_cmd { #define VIRGL_OBJ_SAMPLE_STATE_S0_MAG_IMG_FILTER(x) (((x) & 0x3) << 13) #define VIRGL_OBJ_SAMPLE_STATE_S0_COMPARE_MODE(x) (((x) & 0x1) << 15) #define VIRGL_OBJ_SAMPLE_STATE_S0_COMPARE_FUNC(x) (((x) & 0x7) << 16) +#define VIRGL_OBJ_SAMPLE_STATE_S0_SEAMLESS_CUBE_MAP(x) (((x) & 0x1) << 19) #define VIRGL_OBJ_SAMPLER_STATE_LOD_BIAS 3 #define VIRGL_OBJ_SAMPLER_STATE_MIN_LOD 4 ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: annotate brw_oa.py's --header and --code as required
Module: Mesa Branch: master Commit: c43715d30b754b6e3e4ea0bfc0f7cee9e403211a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c43715d30b754b6e3e4ea0bfc0f7cee9e403211a Author: Emil VelikovDate: Tue Mar 20 16:23:05 2018 + i965: annotate brw_oa.py's --header and --code as required As of earlier commit, the --header was made a hard requirement when using --code. Hence - annotate both as required and drop a few no longer needed checks. Fixes: 035cc7a12dc0 ("i965: perf: reduce i965 binary size") Signed-off-by: Emil Velikov Reviewed-by: Lionel Landwerlin --- src/mesa/drivers/dri/i965/brw_oa.py | 35 ++- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_oa.py b/src/mesa/drivers/dri/i965/brw_oa.py index 63db28bba9..b0b2be2af0 100644 --- a/src/mesa/drivers/dri/i965/brw_oa.py +++ b/src/mesa/drivers/dri/i965/brw_oa.py @@ -32,19 +32,16 @@ c_file = None _c_indent = 0 def c(*args): -if c_file: -code = ' '.join(map(str,args)) -for line in code.splitlines(): -text = ''.rjust(_c_indent) + line -c_file.write(text.rstrip() + "\n") +code = ' '.join(map(str,args)) +for line in code.splitlines(): +text = ''.rjust(_c_indent) + line +c_file.write(text.rstrip() + "\n") # indented, but no trailing newline... def c_line_start(code): -if c_file: -c_file.write(''.rjust(_c_indent) + code) +c_file.write(''.rjust(_c_indent) + code) def c_raw(code): -if c_file: -c_file.write(code) +c_file.write(code) def c_indent(n): global _c_indent @@ -57,11 +54,10 @@ header_file = None _h_indent = 0 def h(*args): -if header_file: -code = ' '.join(map(str,args)) -for line in code.splitlines(): -text = ''.rjust(_h_indent) + line -header_file.write(text.rstrip() + "\n") +code = ' '.join(map(str,args)) +for line in code.splitlines(): +text = ''.rjust(_h_indent) + line +header_file.write(text.rstrip() + "\n") def h_indent(n): global _c_indent @@ -556,17 +552,14 @@ def main(): global header_file parser = argparse.ArgumentParser() -parser.add_argument("--header", help="Header file to write") -parser.add_argument("--code", help="C file to write") +parser.add_argument("--header", help="Header file to write", required=True) +parser.add_argument("--code", help="C file to write", required=True) parser.add_argument("xml_files", nargs='+', help="List of xml metrics files to process") args = parser.parse_args() -if args.header: -header_file = open(args.header, 'w') - -if args.code: -c_file = open(args.code, 'w') +header_file = open(args.header, 'w') +c_file = open(args.code, 'w') gens = [] for xml_file in args.xml_files: ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: pipecontrol: add LRI write immediate flag
Module: Mesa Branch: master Commit: d3e5d3955c1232aa405cf9ac3af65d4d377fd81a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d3e5d3955c1232aa405cf9ac3af65d4d377fd81a Author: Lionel LandwerlinDate: Thu Mar 15 12:11:15 2018 + i965: pipecontrol: add LRI write immediate flag Signed-off-by: Lionel Landwerlin Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_pipe_control.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mesa/drivers/dri/i965/brw_pipe_control.h b/src/mesa/drivers/dri/i965/brw_pipe_control.h index 651cd4d3e7..4c58e16660 100644 --- a/src/mesa/drivers/dri/i965/brw_pipe_control.h +++ b/src/mesa/drivers/dri/i965/brw_pipe_control.h @@ -34,6 +34,7 @@ struct brw_bo; * additional flushing control. */ #define _3DSTATE_PIPE_CONTROL (CMD_3D | (3 << 27) | (2 << 24)) +#define PIPE_CONTROL_LRI_WRITE_IMMEDIATE (1 << 23) /* Gen7+ */ #define PIPE_CONTROL_CS_STALL (1 << 20) #define PIPE_CONTROL_GLOBAL_SNAPSHOT_COUNT_RESET (1 << 19) #define PIPE_CONTROL_TLB_INVALIDATE(1 << 18) ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): intel: genxml: add INSTPM/CS_DEBUG_MODE2 registers
Module: Mesa Branch: master Commit: 7f977d51b3cb27723dc0fd6395262568c89a87ab URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7f977d51b3cb27723dc0fd6395262568c89a87ab Author: Lionel LandwerlinDate: Fri Mar 2 16:44:14 2018 + intel: genxml: add INSTPM/CS_DEBUG_MODE2 registers Signed-off-by: Lionel Landwerlin Reviewed-by: Kenneth Graunke --- src/intel/genxml/gen10.xml | 6 ++ src/intel/genxml/gen11.xml | 6 ++ src/intel/genxml/gen6.xml | 7 +++ src/intel/genxml/gen7.xml | 7 +++ src/intel/genxml/gen75.xml | 7 +++ src/intel/genxml/gen8.xml | 7 +++ src/intel/genxml/gen9.xml | 6 ++ 7 files changed, 46 insertions(+) diff --git a/src/intel/genxml/gen10.xml b/src/intel/genxml/gen10.xml index 2d36957c2a..cc696e800d 100644 --- a/src/intel/genxml/gen10.xml +++ b/src/intel/genxml/gen10.xml @@ -3541,4 +3541,10 @@ + + + + + + diff --git a/src/intel/genxml/gen11.xml b/src/intel/genxml/gen11.xml index a93b62aa4c..417fac1365 100644 --- a/src/intel/genxml/gen11.xml +++ b/src/intel/genxml/gen11.xml @@ -3537,4 +3537,10 @@ + + + + + + diff --git a/src/intel/genxml/gen6.xml b/src/intel/genxml/gen6.xml index 088f46f05f..08779733db 100644 --- a/src/intel/genxml/gen6.xml +++ b/src/intel/genxml/gen6.xml @@ -1963,4 +1963,11 @@ + + + + + + + diff --git a/src/intel/genxml/gen7.xml b/src/intel/genxml/gen7.xml index 430c2ba73a..87e05c94ef 100644 --- a/src/intel/genxml/gen7.xml +++ b/src/intel/genxml/gen7.xml @@ -2551,4 +2551,11 @@ + + + + + + + diff --git a/src/intel/genxml/gen75.xml b/src/intel/genxml/gen75.xml index e18a49ac4d..68aff857f3 100644 --- a/src/intel/genxml/gen75.xml +++ b/src/intel/genxml/gen75.xml @@ -3062,4 +3062,11 @@ + + + + + + + diff --git a/src/intel/genxml/gen8.xml b/src/intel/genxml/gen8.xml index c0e837906c..8a4bf34cf7 100644 --- a/src/intel/genxml/gen8.xml +++ b/src/intel/genxml/gen8.xml @@ -3294,4 +3294,11 @@ + + + + + + + diff --git a/src/intel/genxml/gen9.xml b/src/intel/genxml/gen9.xml index faee2acca1..cfae4a8b65 100644 --- a/src/intel/genxml/gen9.xml +++ b/src/intel/genxml/gen9.xml @@ -3622,4 +3622,10 @@ + + + + + + ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: fix autotools/android build
Module: Mesa Branch: master Commit: 2d2b15fbcab08d7844c15351919cd469cd9e11c4 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d2b15fbcab08d7844c15351919cd469cd9e11c4 Author: Lionel LandwerlinDate: Tue Mar 20 14:59:57 2018 + i965: fix autotools/android build Autotools/android builds generate the header & code files in 2 steps, but the code generation requires the name of the header file to include it. This change generates both files in one command. Fixes: 035cc7a12dc ("i965: perf: reduce i965 binary size") Signed-off-by: Lionel Landwerlin Reviewed-by: Tapani Pälli Reviewed-by: Emil Velikov --- src/mesa/drivers/dri/i965/Android.mk | 9 +++-- src/mesa/drivers/dri/i965/Makefile.am | 10 +++--- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/mesa/drivers/dri/i965/Android.mk b/src/mesa/drivers/dri/i965/Android.mk index a3d010a589..8c4a613bcf 100644 --- a/src/mesa/drivers/dri/i965/Android.mk +++ b/src/mesa/drivers/dri/i965/Android.mk @@ -312,15 +312,12 @@ LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, \ i965_oa_xml_FILES := $(addprefix $(LOCAL_PATH)/, \ $(i965_oa_xml_FILES)) -$(intermediates)/brw_oa_metrics.h: $(LOCAL_PATH)/brw_oa.py $(i965_oa_xml_FILES) - @echo "target Generated: $(PRIVATE_MODULE) <= $(notdir $(@))" - @mkdir -p $(dir $@) - $(hide) $(MESA_PYTHON2) $< --header=$@ $(i965_oa_xml_FILES) - $(intermediates)/brw_oa_metrics.c: $(LOCAL_PATH)/brw_oa.py $(i965_oa_xml_FILES) @echo "target Generated: $(PRIVATE_MODULE) <= $(notdir $(@))" @mkdir -p $(dir $@) - $(hide) $(MESA_PYTHON2) $< --code=$@ $(i965_oa_xml_FILES) + $(hide) $(MESA_PYTHON2) $< --code=$@ $(i965_oa_xml_FILES) --header=$@ $(i965_oa_xml_FILES) + +$(intermediates)/brw_oa_metrics.h: $(intermediates)/brw_oa_metrics.c include $(MESA_COMMON_MK) include $(BUILD_SHARED_LIBRARY) diff --git a/src/mesa/drivers/dri/i965/Makefile.am b/src/mesa/drivers/dri/i965/Makefile.am index 8c8ecc6d76..fe106b4257 100644 --- a/src/mesa/drivers/dri/i965/Makefile.am +++ b/src/mesa/drivers/dri/i965/Makefile.am @@ -114,11 +114,7 @@ EXTRA_DIST = \ $(i965_oa_xml_FILES) \ meson.build -# Note: we avoid using a multi target rule here and outputting both the -# .c and .h files in one go so we don't hit problems with parallel -# make and multiple invocations of the same script trying to write -# to the same files. -brw_oa_metrics.h: brw_oa.py $(i965_oa_xml_FILES) - $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py --header=$(builddir)/brw_oa_metrics.h $(i965_oa_xml_FILES) brw_oa_metrics.c: brw_oa.py $(i965_oa_xml_FILES) - $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py --code=$(builddir)/brw_oa_metrics.c $(i965_oa_xml_FILES) + $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py --code=$(builddir)/brw_oa_metrics.c --header=$(builddir)/brw_oa_metrics.h $(i965_oa_xml_FILES) + +brw_oa_metrics.h: brw_oa_metrics.c ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): dri3: Fix typo in version check
Module: Mesa Branch: master Commit: 9f3509665d880457487dff82a96132d2eb27a0b4 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f3509665d880457487dff82a96132d2eb27a0b4 Author: Daniel StoneDate: Tue Mar 20 16:05:13 2018 + dri3: Fix typo in version check The have-new-DRI3 codepaths would never actually properly trigger, since there was a typo in configure.ac which broke the version check. This went unnoticed but for an error in config.log if you looked closely enough. Signed-off-by: Daniel Stone Reported-by: Lukas F. Hartmann Reviewed-by: Dylan Baker Fixes: 7aeef2d4efdc ("dri3: allow building against older xcb (v3)") Cc: Dave Airlie --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index d1c8bb82da..5074275211 100644 --- a/configure.ac +++ b/configure.ac @@ -1852,7 +1852,7 @@ if test x"$enable_dri3" = xyes; then dri3_modules="x11-xcb xcb >= $XCB_REQUIRED xcb-dri3 xcb-xfixes xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED" PKG_CHECK_MODULES([XCB_DRI3], [$dri3_modules]) -dri3_modifier_modules="xcb-dri3 >= $XCBDRI3_MODIFIERS_REQUIRED xcb-present >= $XCBPRESENT_MODIFIERS_REQUIRES" +dri3_modifier_modules="xcb-dri3 >= $XCBDRI3_MODIFIERS_REQUIRED xcb-present >= $XCBPRESENT_MODIFIERS_REQUIRED" PKG_CHECK_MODULES([XCB_DRI3_MODIFIERS], [$dri3_modifier_modules], [have_dri3_modifiers=yes], [have_dri3_modifiers=no]) if test "x$have_dri3_modifiers" == xyes; then ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): meson: Don't build svga by default on ARM/AArch64
Module: Mesa Branch: master Commit: bc5e59119ef6e7fdb5b54ce0a690a1ad43e6401c URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bc5e59119ef6e7fdb5b54ce0a690a1ad43e6401c Author: Daniel StoneDate: Tue Feb 27 18:00:23 2018 + meson: Don't build svga by default on ARM/AArch64 VMware has no (published) support for Arm-architecture guests. Signed-off-by: Daniel Stone Reviewed-by: Eric Engestrom Reported-by: Dylan Baker --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 88e90fe811..24cad58c61 100644 --- a/meson.build +++ b/meson.build @@ -151,7 +151,7 @@ if _drivers == 'auto' if ['x86', 'x86_64'].contains(host_machine.cpu_family()) _drivers = 'r300,r600,radeonsi,nouveau,virgl,svga,swrast' elif ['arm', 'aarch64'].contains(host_machine.cpu_family()) - _drivers = 'pl111,vc4,vc5,freedreno,etnaviv,imx,nouveau,tegra,virgl,svga,swrast' + _drivers = 'pl111,vc4,vc5,freedreno,etnaviv,imx,nouveau,tegra,virgl,swrast' else error('Unknown architecture. Please pass -Dgallium-drivers to set driver options. Patches gladly accepted to fix this.') endif ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): meson: Add default DRI drivers for ARM/AArch64
Module: Mesa Branch: master Commit: d7603cb518cf1e0bf2c07d6ce4b139bf075b3980 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7603cb518cf1e0bf2c07d6ce4b139bf075b3980 Author: Daniel StoneDate: Tue Feb 27 10:00:24 2018 + meson: Add default DRI drivers for ARM/AArch64 On all Arm architectures (ARMv7 and below as 'arm', ARMv8 and above as 'aarch64'), only build swrast for DRI drivers. The only classic drivers which could be used are r200 and NV20 cards, which seems unlikely enough that it shouldn't be the default. Signed-off-by: Daniel Stone Reported-by: Javier Jardón Reviewed-by: Dylan Baker Reviewed-by: Eric Engestrom --- meson.build | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meson.build b/meson.build index a59736f50a..88e90fe811 100644 --- a/meson.build +++ b/meson.build @@ -104,6 +104,8 @@ if _drivers == 'auto' # TODO: PPC, Sparc if ['x86', 'x86_64'].contains(host_machine.cpu_family()) _drivers = 'i915,i965,r100,r200,nouveau' +elif ['arm', 'aarch64'].contains(host_machine.cpu_family()) + _drivers = '' else error('Unknown architecture. Please pass -Ddri-drivers to set driver options. Patches gladly accepted to fix this.') endif ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): st/mesa: add compiler/nir/ prefix for nir includes
Module: Mesa Branch: master Commit: 28780c5028a60234e11e084777553ad70591f87d URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=28780c5028a60234e11e084777553ad70591f87d Author: Emil VelikovDate: Tue Mar 20 11:39:57 2018 + st/mesa: add compiler/nir/ prefix for nir includes Stay consistent with the rest of the codebase, effectively fixing the autotools build. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105621 Fixes: ffa4bbe4665 ("st/nir/radeonsi: move nir_lower_uniforms_to_ubo() to the state tracker") Cc: Timothy Arceri Signed-off-by: Emil Velikov Reviewed-by: Brian Paul --- src/mesa/state_tracker/st_nir_lower_uniforms_to_ubo.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mesa/state_tracker/st_nir_lower_uniforms_to_ubo.c b/src/mesa/state_tracker/st_nir_lower_uniforms_to_ubo.c index e2a477ecc7..b2f8f833bb 100644 --- a/src/mesa/state_tracker/st_nir_lower_uniforms_to_ubo.c +++ b/src/mesa/state_tracker/st_nir_lower_uniforms_to_ubo.c @@ -29,8 +29,8 @@ * point by 1. */ -#include "nir.h" -#include "nir_builder.h" +#include "compiler/nir/nir.h" +#include "compiler/nir/nir_builder.h" #include "st_nir.h" #include "program/prog_parameter.h" ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): anv: off-by-one in GetDescriptorSetLayoutSupport
Module: Mesa Branch: master Commit: d849d36c6cc99cb7a7ad4b285e3e896d593da07b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d849d36c6cc99cb7a7ad4b285e3e896d593da07b Author: Scott D PhillipsDate: Mon Mar 19 15:39:25 2018 -0700 anv: off-by-one in GetDescriptorSetLayoutSupport Loop was accessing one more than bindingCount elements from pBindings, accessing uninitialized memory. Fixes: ddc4069122 ("anv: Implement VK_KHR_maintenance3") Reviewed-by: Nanley Chery Reviewed-by: Lionel Landwerlin --- src/intel/vulkan/anv_descriptor_set.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intel/vulkan/anv_descriptor_set.c b/src/intel/vulkan/anv_descriptor_set.c index 2a3c496a9f..67511e4b28 100644 --- a/src/intel/vulkan/anv_descriptor_set.c +++ b/src/intel/vulkan/anv_descriptor_set.c @@ -42,7 +42,7 @@ void anv_GetDescriptorSetLayoutSupport( { uint32_t surface_count[MESA_SHADER_STAGES] = { 0, }; - for (uint32_t b = 0; b <= pCreateInfo->bindingCount; b++) { + for (uint32_t b = 0; b < pCreateInfo->bindingCount; b++) { const VkDescriptorSetLayoutBinding *binding = >pBindings[b]; switch (binding->descriptorType) { ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): i965: perf: reduce i965 binary size
Module: Mesa Branch: master Commit: 035cc7a12dc03ef8b8184f75b880ae41e452b215 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=035cc7a12dc03ef8b8184f75b880ae41e452b215 Author: Lionel LandwerlinDate: Tue Mar 13 11:21:17 2018 + i965: perf: reduce i965 binary size Performance metric numbers are calculated the following way : - out of the 256 bytes long OA reports, we accumulate the deltas into an array of uint64_t - the equations' generated code reads the accumulated uint64_t deltas and normalizes them for a particular platform Our hardware is such that a number of counters in the OA reports always return the same values (i.e. they're not programmable), and they return the same values even across generations, and as a result a number of equations are identical in different metric sets across different generations. Up to now we've kept the generated code of the equations separated in different files (per generation/GT), and didn't apply any factorization of the common equations. We could have make some improvement by reusing equations within a given metrics file, but we can go even further and reuse across generations (i.e. all files). This change changes the code generation to emit a single file in which we reuse equations emitted code based on the hash of equations' strings. Here are the savings in a meson build : Before(.old)/after : $ du -h ./build/src/mesa/drivers/dri/libmesa_dri_drivers.so ./build/src/mesa/drivers/dri/libmesa_dri_drivers.so.old 43M ./build/src/mesa/drivers/dri/libmesa_dri_drivers.so 47M ./build/src/mesa/drivers/dri/libmesa_dri_drivers.so.old $ size build/src/mesa/drivers/dri/libmesa_dri_drivers.so build/src/mesa/drivers/dri/libmesa_dri_drivers.so.old text data bss dechex filename 13054002 409424 671856 14135282 d7aff2 build/src/mesa/drivers/dri/libmesa_dri_drivers.so 14550386 409552 671856 15631794 ee85b2 build/src/mesa/drivers/dri/libmesa_dri_drivers.so.old As a side comment here is the size of the drivers if we remove all of the metrics from the build : $ du -sh build/src/mesa/drivers/dri/libmesa_dri_drivers.so 40M build/src/mesa/drivers/dri/libmesa_dri_drivers.so v2: Fix an issue with hashing of counter equations (Lionel) Build system rework (Emil) Signed-off-by: Lionel Landwerlin Reviewed-by: Emil Velikov (build system part) Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/Android.mk | 11 +- src/mesa/drivers/dri/i965/Makefile.am | 21 +- src/mesa/drivers/dri/i965/Makefile.sources| 40 +- src/mesa/drivers/dri/i965/brw_oa.py | 433 ++ src/mesa/drivers/dri/i965/brw_performance_query.c | 13 +- src/mesa/drivers/dri/i965/meson.build | 37 +- 6 files changed, 334 insertions(+), 221 deletions(-) diff --git a/src/mesa/drivers/dri/i965/Android.mk b/src/mesa/drivers/dri/i965/Android.mk index 964313e6c5..a3d010a589 100644 --- a/src/mesa/drivers/dri/i965/Android.mk +++ b/src/mesa/drivers/dri/i965/Android.mk @@ -309,15 +309,18 @@ intermediates := $(call local-generated-sources-dir) LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, \ $(i965_oa_GENERATED_FILES)) -$(intermediates)/brw_oa_%.h: $(LOCAL_PATH)/brw_oa_%.xml $(LOCAL_PATH)/brw_oa.py +i965_oa_xml_FILES := $(addprefix $(LOCAL_PATH)/, \ + $(i965_oa_xml_FILES)) + +$(intermediates)/brw_oa_metrics.h: $(LOCAL_PATH)/brw_oa.py $(i965_oa_xml_FILES) @echo "target Generated: $(PRIVATE_MODULE) <= $(notdir $(@))" @mkdir -p $(dir $@) - $(hide) $(MESA_PYTHON2) $(word 2, $^) --header=$@ --chipset=$(basename $*) $< + $(hide) $(MESA_PYTHON2) $< --header=$@ $(i965_oa_xml_FILES) -$(intermediates)/brw_oa_%.c: $(LOCAL_PATH)/brw_oa_%.xml $(LOCAL_PATH)/brw_oa.py +$(intermediates)/brw_oa_metrics.c: $(LOCAL_PATH)/brw_oa.py $(i965_oa_xml_FILES) @echo "target Generated: $(PRIVATE_MODULE) <= $(notdir $(@))" @mkdir -p $(dir $@) - $(hide) $(MESA_PYTHON2) $(word 2, $^) --code=$@ --chipset=$(basename $*) $< + $(hide) $(MESA_PYTHON2) $< --code=$@ $(i965_oa_xml_FILES) include $(MESA_COMMON_MK) include $(BUILD_SHARED_LIBRARY) diff --git a/src/mesa/drivers/dri/i965/Makefile.am b/src/mesa/drivers/dri/i965/Makefile.am index 824882389e..8c8ecc6d76 100644 --- a/src/mesa/drivers/dri/i965/Makefile.am +++ b/src/mesa/drivers/dri/i965/Makefile.am @@ -110,26 +110,15 @@ BUILT_SOURCES = $(i965_oa_GENERATED_FILES) CLEANFILES = $(BUILT_SOURCES) EXTRA_DIST = \ - brw_oa_hsw.xml \ - brw_oa_bdw.xml \ - brw_oa_chv.xml \ - brw_oa_sklgt2.xml \ - brw_oa_sklgt3.xml \ - brw_oa_sklgt4.xml \ - brw_oa_bxt.xml \ - brw_oa_kblgt2.xml \ - brw_oa_kblgt3.xml \ - brw_oa_glk.xml \ -
Mesa (master): i965: perf: fix a counter return type on hsw
Module: Mesa Branch: master Commit: e9a9e859486104ff9326cbc424480e53dc4e81ba URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e9a9e859486104ff9326cbc424480e53dc4e81ba Author: Lionel LandwerlinDate: Tue Mar 13 11:45:12 2018 + i965: perf: fix a counter return type on hsw The equation code computes a float (percentage) yet the return type was an uint64_t. Signed-off-by: Lionel Landwerlin Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_oa_hsw.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_oa_hsw.xml b/src/mesa/drivers/dri/i965/brw_oa_hsw.xml index ebc2bd7914..861cc1212a 100644 --- a/src/mesa/drivers/dri/i965/brw_oa_hsw.xml +++ b/src/mesa/drivers/dri/i965/brw_oa_hsw.xml @@ -1669,7 +1669,7 @@ /> https://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): mesa: fix leaking ParameterValueOffset
Module: Mesa Branch: master Commit: 604cac9f739264377acb22a657bf745762a94656 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=604cac9f739264377acb22a657bf745762a94656 Author: Tapani PälliDate: Tue Mar 20 08:55:28 2018 +0200 mesa: fix leaking ParameterValueOffset ==15115== 48 bytes in 1 blocks are definitely lost in loss record 16 of 66 ==15115==at 0x4C2EC15: realloc (vg_replace_malloc.c:785) ==15115==by 0x8602C3E: _mesa_reserve_parameter_storage (prog_parameter.c:212) ==15115==by 0x8602D1E: _mesa_add_parameter (prog_parameter.c:252) ==15115==by 0x86032C4: _mesa_add_sized_state_reference (prog_parameter.c:384) ==15115==by 0x8603324: _mesa_add_state_reference (prog_parameter.c:409) Fixes: edded12376 "mesa: rework ParameterList to allow packing" Signed-off-by: Tapani Pälli Reviewed-by: Timothy Arceri --- src/mesa/program/prog_parameter.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mesa/program/prog_parameter.c b/src/mesa/program/prog_parameter.c index 88821cfba1..2bc1b6db6e 100644 --- a/src/mesa/program/prog_parameter.c +++ b/src/mesa/program/prog_parameter.c @@ -180,6 +180,7 @@ _mesa_free_parameter_list(struct gl_program_parameter_list *paramList) free((void *)paramList->Parameters[i].Name); } free(paramList->Parameters); + free(paramList->ParameterValueOffset); _mesa_align_free(paramList->ParameterValues); free(paramList); } ___ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit
Mesa (master): dri3: Don't fail on version mismatch
Module: Mesa Branch: master Commit: 478fc2d2a1a392108f48a3ed9aa21b10be72b4a2 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=478fc2d2a1a392108f48a3ed9aa21b10be72b4a2 Author: Daniel StoneDate: Mon Mar 19 15:03:22 2018 + dri3: Don't fail on version mismatch The previous commit to make DRI3 modifier support optional, breaks with an updated server and old client. Make sure we never set multibuffers_available unless we also support it locally. Make sure we don't call stubs of new-DRI3 functions (or empty branches) which will never succeed. Signed-off-by: Daniel Stone Reviewed-by: Dave Airlie Fixes: 7aeef2d4efdc ("dri3: allow building against older xcb (v3)") --- src/egl/drivers/dri2/egl_dri2.c | 2 +- src/egl/drivers/dri2/platform_x11_dri3.c | 10 ++ src/glx/dri3_glx.c | 8 ++-- src/loader/loader_dri3_helper.c | 5 +++-- src/vulkan/wsi/wsi_common_x11.c | 4 5 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index 535806e4bf..45d0c7275c 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -882,7 +882,7 @@ dri2_setup_extensions(_EGLDisplay *disp) if (!dri2_bind_extensions(dri2_dpy, mandatory_core_extensions, extensions, false)) return EGL_FALSE; -#ifdef HAVE_DRI3 +#ifdef HAVE_DRI3_MODIFIERS dri2_dpy->multibuffers_available = (dri2_dpy->dri3_major_version > 1 || (dri2_dpy->dri3_major_version == 1 && dri2_dpy->dri3_minor_version >= 2)) && diff --git a/src/egl/drivers/dri2/platform_x11_dri3.c b/src/egl/drivers/dri2/platform_x11_dri3.c index de60e952da..5e531e21cb 100644 --- a/src/egl/drivers/dri2/platform_x11_dri3.c +++ b/src/egl/drivers/dri2/platform_x11_dri3.c @@ -322,12 +322,12 @@ dri3_create_image_khr_pixmap(_EGLDisplay *disp, _EGLContext *ctx, return _img->base; } +#ifdef HAVE_DRI3_MODIFIERS static _EGLImage * dri3_create_image_khr_pixmap_from_buffers(_EGLDisplay *disp, _EGLContext *ctx, EGLClientBuffer buffer, const EGLint *attr_list) { -#ifdef HAVE_DRI3_MODIFIERS struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); struct dri2_egl_image *dri2_img; xcb_dri3_buffers_from_pixmap_cookie_t bp_cookie; @@ -377,23 +377,25 @@ dri3_create_image_khr_pixmap_from_buffers(_EGLDisplay *disp, _EGLContext *ctx, } return _img->base; -#else - return NULL; -#endif } +#endif static _EGLImage * dri3_create_image_khr(_EGLDriver *drv, _EGLDisplay *disp, _EGLContext *ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attr_list) { +#ifdef HAVE_DRI3_MODIFIERS struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); +#endif switch (target) { case EGL_NATIVE_PIXMAP_KHR: +#ifdef HAVE_DRI3_MODIFIERS if (dri2_dpy->multibuffers_available) return dri3_create_image_khr_pixmap_from_buffers(disp, ctx, buffer, attr_list); +#endif return dri3_create_image_khr_pixmap(disp, ctx, buffer, attr_list); default: return dri2_create_image_khr(drv, disp, ctx, target, buffer, attr_list); diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c index aec803adfd..c48a8ba532 100644 --- a/src/glx/dri3_glx.c +++ b/src/glx/dri3_glx.c @@ -357,10 +357,12 @@ dri3_create_drawable(struct glx_screen *base, XID xDrawable, { struct dri3_drawable *pdraw; struct dri3_screen *psc = (struct dri3_screen *) base; - const struct dri3_display *const pdp = (struct dri3_display *) - base->display->dri3Display; __GLXDRIconfigPrivate *config = (__GLXDRIconfigPrivate *) config_base; bool has_multibuffer = false; +#ifdef HAVE_DRI3_MODIFIERS + const struct dri3_display *const pdp = (struct dri3_display *) + base->display->dri3Display; +#endif pdraw = calloc(1, sizeof(*pdraw)); if (!pdraw) @@ -371,11 +373,13 @@ dri3_create_drawable(struct glx_screen *base, XID xDrawable, pdraw->base.drawable = drawable; pdraw->base.psc = >base; +#ifdef HAVE_DRI3_MODIFIERS if ((psc->image && psc->image->base.version >= 15) && (pdp->dri3Major > 1 || (pdp->dri3Major == 1 && pdp->dri3Minor >= 2)) && (pdp->presentMajor > 1 || (pdp->presentMajor == 1 && pdp->presentMinor >= 2))) has_multibuffer = true; +#endif (void) __glXInitialize(psc->base.dpy); diff --git a/src/loader/loader_dri3_helper.c b/src/loader/loader_dri3_helper.c index c1d94c3c21..fe17df1473 100644 --- a/src/loader/loader_dri3_helper.c +++ b/src/loader/loader_dri3_helper.c @@ -1274,9 +1274,9 @@ dri3_alloc_render_buffer(struct loader_dri3_drawable *draw, unsigned int format, buffer->modifier =