VERSION | 2 configure.ac | 22 docs/GL3.txt | 52 docs/egl.html | 6 docs/index.html | 6 docs/relnotes.html | 1 docs/relnotes/10.6.4.html | 137 docs/relnotes/10.7.0.html | 75 docs/relnotes/11.0.0.html | 89 include/GL/glx.h | 92 include/GL/internal/dri_interface.h | 17 include/c99_math.h | 12 include/pci_ids/radeonsi_pci_ids.h | 25 scons/gallium.py | 1 src/egl/Makefile.am | 1 src/egl/SConscript | 1 src/egl/drivers/dri2/egl_dri2.c | 237 src/egl/drivers/dri2/platform_wayland.c | 46 src/egl/drivers/dri2/platform_x11.c | 123 src/egl/main/eglapi.c | 36 src/egl/main/eglapi.h | 24 src/egl/main/eglarray.c | 3 src/egl/main/eglcontext.c | 33 src/egl/main/eglfallbacks.c | 6 src/egl/main/eglsurface.c | 3 src/gallium/Android.mk | 1 src/gallium/Makefile.am | 1 src/gallium/auxiliary/gallivm/lp_bld_arit.c | 6 src/gallium/auxiliary/gallivm/lp_bld_intr.c | 12 src/gallium/auxiliary/gallivm/lp_bld_intr.h | 3 src/gallium/auxiliary/gallivm/lp_bld_logic.c | 2 src/gallium/auxiliary/gallivm/lp_bld_tgsi.c | 2 src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c | 3 src/gallium/auxiliary/hud/hud_context.c | 70 src/gallium/auxiliary/hud/hud_driver_query.c | 22 src/gallium/auxiliary/hud/hud_private.h | 3 src/gallium/auxiliary/nir/tgsi_to_nir.c | 3 src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c | 13 src/gallium/auxiliary/target-helpers/inline_drm_helper.h | 8 src/gallium/auxiliary/util/u_debug.c | 8 src/gallium/auxiliary/util/u_debug.h | 6 src/gallium/auxiliary/util/u_format_rgb9e5.h | 11 src/gallium/auxiliary/util/u_math.c | 2 src/gallium/auxiliary/util/u_math.h | 2 src/gallium/auxiliary/util/u_video.h | 7 src/gallium/auxiliary/vl/vl_mpeg12_bitstream.c | 1 src/gallium/docs/source/screen.rst | 9 src/gallium/drivers/freedreno/a2xx/a2xx.xml.h | 4 src/gallium/drivers/freedreno/a3xx/a3xx.xml.h | 23 src/gallium/drivers/freedreno/a3xx/fd3_blend.h | 4 src/gallium/drivers/freedreno/a3xx/fd3_draw.c | 7 src/gallium/drivers/freedreno/a3xx/fd3_emit.c | 6 src/gallium/drivers/freedreno/a3xx/fd3_format.h | 23 src/gallium/drivers/freedreno/a3xx/fd3_gmem.c | 9 src/gallium/drivers/freedreno/a3xx/fd3_program.c | 6 src/gallium/drivers/freedreno/a3xx/fd3_screen.c | 2 src/gallium/drivers/freedreno/a3xx/fd3_texture.c | 5 src/gallium/drivers/freedreno/a4xx/a4xx.xml.h | 187 src/gallium/drivers/freedreno/a4xx/fd4_blend.c | 18 src/gallium/drivers/freedreno/a4xx/fd4_blend.h | 4 src/gallium/drivers/freedreno/a4xx/fd4_draw.c | 41 src/gallium/drivers/freedreno/a4xx/fd4_draw.h | 8 src/gallium/drivers/freedreno/a4xx/fd4_emit.c | 149 src/gallium/drivers/freedreno/a4xx/fd4_emit.h | 9 src/gallium/drivers/freedreno/a4xx/fd4_format.c | 27 src/gallium/drivers/freedreno/a4xx/fd4_gmem.c | 219 src/gallium/drivers/freedreno/a4xx/fd4_program.c | 130 src/gallium/drivers/freedreno/a4xx/fd4_program.h | 3 src/gallium/drivers/freedreno/a4xx/fd4_rasterizer.c | 8 src/gallium/drivers/freedreno/a4xx/fd4_screen.c | 2 src/gallium/drivers/freedreno/a4xx/fd4_texture.c | 8 src/gallium/drivers/freedreno/adreno_common.xml.h | 4 src/gallium/drivers/freedreno/adreno_pm4.xml.h | 4 src/gallium/drivers/freedreno/freedreno_context.c | 18 src/gallium/drivers/freedreno/freedreno_context.h | 2 src/gallium/drivers/freedreno/freedreno_draw.c | 68 src/gallium/drivers/freedreno/freedreno_gmem.c | 15 src/gallium/drivers/freedreno/freedreno_gmem.h | 6 src/gallium/drivers/freedreno/freedreno_program.c | 6 src/gallium/drivers/freedreno/freedreno_resource.c | 20 src/gallium/drivers/freedreno/freedreno_resource.h | 17 src/gallium/drivers/freedreno/freedreno_screen.c | 49 src/gallium/drivers/freedreno/freedreno_screen.h | 8 src/gallium/drivers/freedreno/freedreno_surface.c | 3 src/gallium/drivers/freedreno/freedreno_util.h | 58 src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c | 12 src/gallium/drivers/freedreno/ir3/ir3_group.c | 5 src/gallium/drivers/freedreno/ir3/ir3_print.c | 14 src/gallium/drivers/freedreno/ir3/ir3_shader.h | 5 src/gallium/drivers/i915/i915_screen.c | 3 src/gallium/drivers/ilo/ilo_screen.c | 3 src/gallium/drivers/llvmpipe/lp_screen.c | 3 src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp | 17 src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 34 src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_gm107.cpp | 90 src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 12 src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.h | 3 src/gallium/drivers/nouveau/nv30/nv30_screen.c | 5 src/gallium/drivers/nouveau/nv30/nv30_state.c | 8 src/gallium/drivers/nouveau/nv30/nv30_state.h | 4 src/gallium/drivers/nouveau/nv50/nv50_screen.c | 3 src/gallium/drivers/nouveau/nv50/nv50_state.c | 10 src/gallium/drivers/nouveau/nv50/nv50_stateobj.h | 2 src/gallium/drivers/nouveau/nv50/nv50_surface.c | 14 src/gallium/drivers/nouveau/nvc0/nvc0_context.c | 25 src/gallium/drivers/nouveau/nvc0/nvc0_context.h | 3 src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 17 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 10 src/gallium/drivers/nouveau/nvc0/nvc0_shader_state.c | 7 src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 19 src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c | 21 src/gallium/drivers/nouveau/nvc0/nvc0_stateobj.h | 4 src/gallium/drivers/nouveau/nvc0/nvc0_surface.c | 14 src/gallium/drivers/r300/r300_blit.c | 2 src/gallium/drivers/r300/r300_context.c | 8 src/gallium/drivers/r300/r300_context.h | 2 src/gallium/drivers/r300/r300_cs.h | 2 src/gallium/drivers/r300/r300_query.c | 5 src/gallium/drivers/r300/r300_render.c | 2 src/gallium/drivers/r300/r300_screen.c | 3 src/gallium/drivers/r300/r300_screen_buffer.c | 2 src/gallium/drivers/r300/r300_state.c | 2 src/gallium/drivers/r300/r300_texture.c | 2 src/gallium/drivers/r300/r300_transfer.c | 2 src/gallium/drivers/r600/evergreen_compute.c | 29 src/gallium/drivers/r600/evergreen_state.c | 96 src/gallium/drivers/r600/evergreend.h | 5 src/gallium/drivers/r600/r600_blit.c | 25 src/gallium/drivers/r600/r600_hw_context.c | 75 src/gallium/drivers/r600/r600_llvm.c | 191 src/gallium/drivers/r600/r600_pipe.c | 8 src/gallium/drivers/r600/r600_pipe.h | 82 src/gallium/drivers/r600/r600_shader.c | 9 src/gallium/drivers/r600/r600_shader.h | 1 src/gallium/drivers/r600/r600_state.c | 34 src/gallium/drivers/r600/r600_state_common.c | 112 src/gallium/drivers/radeon/r600_buffer_common.c | 15 src/gallium/drivers/radeon/r600_cs.h | 8 src/gallium/drivers/radeon/r600_pipe_common.c | 89 src/gallium/drivers/radeon/r600_pipe_common.h | 63 src/gallium/drivers/radeon/r600_query.c | 132 src/gallium/drivers/radeon/r600_streamout.c | 55 src/gallium/drivers/radeon/r600_texture.c | 26 src/gallium/drivers/radeon/r600d_common.h | 5 src/gallium/drivers/radeon/radeon_elf_util.c | 13 src/gallium/drivers/radeon/radeon_elf_util.h | 2 src/gallium/drivers/radeon/radeon_llvm.h | 27 src/gallium/drivers/radeon/radeon_llvm_emit.c | 11 src/gallium/drivers/radeon/radeon_llvm_emit.h | 10 src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 280 src/gallium/drivers/radeon/radeon_uvd.c | 383 src/gallium/drivers/radeon/radeon_uvd.h | 65 src/gallium/drivers/radeon/radeon_vce.c | 76 src/gallium/drivers/radeon/radeon_vce.h | 30 src/gallium/drivers/radeon/radeon_vce_40_2_2.c | 58 src/gallium/drivers/radeon/radeon_vce_50.c | 61 src/gallium/drivers/radeon/radeon_video.c | 20 src/gallium/drivers/radeon/radeon_winsys.h | 62 src/gallium/drivers/radeonsi/Automake.inc | 6 src/gallium/drivers/radeonsi/Makefile.sources | 1 src/gallium/drivers/radeonsi/si_blit.c | 20 src/gallium/drivers/radeonsi/si_compute.c | 2 src/gallium/drivers/radeonsi/si_cp_dma.c | 265 src/gallium/drivers/radeonsi/si_descriptors.c | 611 - src/gallium/drivers/radeonsi/si_hw_context.c | 44 src/gallium/drivers/radeonsi/si_pipe.c | 54 src/gallium/drivers/radeonsi/si_pipe.h | 27 src/gallium/drivers/radeonsi/si_shader.c | 605 - src/gallium/drivers/radeonsi/si_shader.h | 12 src/gallium/drivers/radeonsi/si_state.c | 301 src/gallium/drivers/radeonsi/si_state.h | 42 src/gallium/drivers/radeonsi/si_state_draw.c | 50 src/gallium/drivers/radeonsi/si_state_shaders.c | 140 src/gallium/drivers/radeonsi/sid.h | 2170 ++++ src/gallium/drivers/softpipe/sp_screen.c | 3 src/gallium/drivers/svga/SConscript | 1 src/gallium/drivers/svga/svga_screen.c | 3 src/gallium/drivers/vc4/Makefile.am | 2 src/gallium/drivers/vc4/Makefile.sources | 2 src/gallium/drivers/vc4/kernel/vc4_drv.h | 24 src/gallium/drivers/vc4/kernel/vc4_gem.c | 2 src/gallium/drivers/vc4/kernel/vc4_render_cl.c | 6 src/gallium/drivers/vc4/kernel/vc4_validate.c | 295 src/gallium/drivers/vc4/vc4_cl_dump.c | 4 src/gallium/drivers/vc4/vc4_context.h | 17 src/gallium/drivers/vc4/vc4_draw.c | 116 src/gallium/drivers/vc4/vc4_formats.c | 2 src/gallium/drivers/vc4/vc4_nir_lower_blend.c | 431 src/gallium/drivers/vc4/vc4_nir_lower_io.c | 291 src/gallium/drivers/vc4/vc4_opt_copy_propagation.c | 5 src/gallium/drivers/vc4/vc4_opt_cse.c | 16 src/gallium/drivers/vc4/vc4_program.c | 681 - src/gallium/drivers/vc4/vc4_qir.c | 18 src/gallium/drivers/vc4/vc4_qir.h | 94 src/gallium/drivers/vc4/vc4_qpu_disasm.c | 2 src/gallium/drivers/vc4/vc4_qpu_emit.c | 58 src/gallium/drivers/vc4/vc4_register_allocate.c | 83 src/gallium/drivers/vc4/vc4_resource.c | 8 src/gallium/drivers/vc4/vc4_screen.c | 9 src/gallium/drivers/vc4/vc4_simulator.c | 16 src/gallium/drivers/vc4/vc4_simulator_validate.h | 1 src/gallium/drivers/vc4/vc4_uniforms.c | 62 src/gallium/include/pipe/p_config.h | 4 src/gallium/include/pipe/p_defines.h | 15 src/gallium/include/pipe/p_state.h | 3 src/gallium/include/pipe/p_video_enums.h | 13 src/gallium/include/pipe/p_video_state.h | 105 src/gallium/state_trackers/clover/api/dispatch.cpp | 10 src/gallium/state_trackers/clover/api/dispatch.hpp | 23 src/gallium/state_trackers/clover/api/kernel.cpp | 8 src/gallium/state_trackers/clover/api/memory.cpp | 26 src/gallium/state_trackers/clover/api/program.cpp | 10 src/gallium/state_trackers/clover/api/transfer.cpp | 12 src/gallium/state_trackers/clover/api/util.hpp | 7 src/gallium/state_trackers/clover/core/kernel.cpp | 43 src/gallium/state_trackers/clover/core/kernel.hpp | 15 src/gallium/state_trackers/clover/core/memory.cpp | 2 src/gallium/state_trackers/clover/core/module.hpp | 4 src/gallium/state_trackers/clover/core/resource.cpp | 1 src/gallium/state_trackers/clover/llvm/invocation.cpp | 165 src/gallium/state_trackers/omx/vid_enc.c | 21 src/gallium/state_trackers/omx/vid_enc.h | 4 src/gallium/state_trackers/vdpau/decode.c | 122 src/gallium/state_trackers/vdpau/vdpau_private.h | 20 src/gallium/targets/dri-vdpau.dyn | 1 src/gallium/targets/dri/SConscript | 2 src/gallium/targets/dri/dri.sym | 1 src/gallium/targets/opencl/Makefile.am | 2 src/gallium/targets/opencl/mesa.icd | 1 src/gallium/targets/opencl/mesa.icd.in | 1 src/gallium/targets/pipe-loader/Makefile.am | 4 src/gallium/targets/pipe-loader/pipe_radeonsi.c | 8 src/gallium/targets/vdpau/vdpau.sym | 1 src/gallium/winsys/amdgpu/drm/Android.mk | 37 src/gallium/winsys/amdgpu/drm/Makefile.am | 17 src/gallium/winsys/amdgpu/drm/Makefile.sources | 31 src/gallium/winsys/amdgpu/drm/addrlib/addrinterface.cpp | 1008 ++ src/gallium/winsys/amdgpu/drm/addrlib/addrinterface.h | 2166 ++++ src/gallium/winsys/amdgpu/drm/addrlib/addrtypes.h | 590 + src/gallium/winsys/amdgpu/drm/addrlib/core/addrcommon.h | 558 + src/gallium/winsys/amdgpu/drm/addrlib/core/addrelemlib.cpp | 1674 +++ src/gallium/winsys/amdgpu/drm/addrlib/core/addrelemlib.h | 270 src/gallium/winsys/amdgpu/drm/addrlib/core/addrlib.cpp | 4023 ++++++++ src/gallium/winsys/amdgpu/drm/addrlib/core/addrlib.h | 695 + src/gallium/winsys/amdgpu/drm/addrlib/core/addrobject.cpp | 246 src/gallium/winsys/amdgpu/drm/addrlib/core/addrobject.h | 89 src/gallium/winsys/amdgpu/drm/addrlib/inc/chip/r800/si_gb_reg.h | 155 src/gallium/winsys/amdgpu/drm/addrlib/inc/lnx_common_defs.h | 129 src/gallium/winsys/amdgpu/drm/addrlib/r800/chip/si_ci_vi_merged_enum.h | 40 src/gallium/winsys/amdgpu/drm/addrlib/r800/ciaddrlib.cpp | 1782 +++ src/gallium/winsys/amdgpu/drm/addrlib/r800/ciaddrlib.h | 198 src/gallium/winsys/amdgpu/drm/addrlib/r800/egbaddrlib.cpp | 4575 ++++++++++ src/gallium/winsys/amdgpu/drm/addrlib/r800/egbaddrlib.h | 411 src/gallium/winsys/amdgpu/drm/addrlib/r800/siaddrlib.cpp | 2818 ++++++ src/gallium/winsys/amdgpu/drm/addrlib/r800/siaddrlib.h | 262 src/gallium/winsys/amdgpu/drm/amdgpu_bo.c | 781 + src/gallium/winsys/amdgpu/drm/amdgpu_bo.h | 80 src/gallium/winsys/amdgpu/drm/amdgpu_cs.c | 704 + src/gallium/winsys/amdgpu/drm/amdgpu_cs.h | 162 src/gallium/winsys/amdgpu/drm/amdgpu_id.h | 161 src/gallium/winsys/amdgpu/drm/amdgpu_public.h | 40 src/gallium/winsys/amdgpu/drm/amdgpu_surface.c | 438 src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c | 503 + src/gallium/winsys/amdgpu/drm/amdgpu_winsys.h | 78 src/gallium/winsys/radeon/drm/radeon_drm_bo.c | 58 src/gallium/winsys/radeon/drm/radeon_drm_cs.c | 63 src/gallium/winsys/radeon/drm/radeon_drm_cs.h | 2 src/gallium/winsys/radeon/drm/radeon_drm_winsys.c | 16 src/gallium/winsys/radeon/drm/radeon_drm_winsys.h | 1 src/gallium/winsys/svga/drm/SConscript | 1 src/glsl/Makefile.sources | 2 src/glsl/ast_to_hir.cpp | 8 src/glsl/builtin_types.cpp | 80 src/glsl/builtin_variables.cpp | 2 src/glsl/glsl_lexer.ll | 7 src/glsl/glsl_types.h | 13 src/glsl/ir.cpp | 4 src/glsl/ir_constant_expression.cpp | 32 src/glsl/ir_print_visitor.cpp | 18 src/glsl/link_varyings.cpp | 1 src/glsl/linker.cpp | 84 src/glsl/lower_subroutine.cpp | 6 src/glsl/nir/nir.c | 2 src/glsl/nir/nir.h | 19 src/glsl/nir/nir_constant_expressions.py | 14 src/glsl/nir/nir_lower_alu_to_scalar.c | 15 src/glsl/nir/nir_lower_io.c | 89 src/glsl/nir/nir_lower_load_const_to_scalar.c | 103 src/glsl/nir/nir_opcodes.py | 4 src/glsl/nir/nir_opt_algebraic.py | 1 src/glsl/nir/nir_opt_cse.c | 43 src/glsl/nir/nir_opt_peephole_ffma.c | 13 src/glsl/nir/nir_opt_undef.c | 104 src/glsl/nir/nir_types.cpp | 6 src/glsl/nir/nir_types.h | 1 src/glsl/tests/general_ir_test.cpp | 12 src/glsl/tests/varyings_test.cpp | 10 src/glx/compsize.c | 10 src/glx/glxextensions.c | 1 src/glx/glxextensions.h | 1 src/glx/pixelstore.c | 25 src/mapi/glapi/gen/GL4x.xml | 6 src/mesa/drivers/common/meta_blit.c | 6 src/mesa/drivers/common/meta_copy_image.c | 4 src/mesa/drivers/dri/common/dri_util.c | 4 src/mesa/drivers/dri/i915/i915_state.c | 2 src/mesa/drivers/dri/i915/i915_texstate.c | 2 src/mesa/drivers/dri/i965/Makefile.sources | 4 src/mesa/drivers/dri/i965/brw_binding_tables.c | 15 src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 22 src/mesa/drivers/dri/i965/brw_cfg.cpp | 3 src/mesa/drivers/dri/i965/brw_context.c | 12 src/mesa/drivers/dri/i965/brw_context.h | 79 src/mesa/drivers/dri/i965/brw_cs.cpp | 8 src/mesa/drivers/dri/i965/brw_defines.h | 79 src/mesa/drivers/dri/i965/brw_device_info.c | 39 src/mesa/drivers/dri/i965/brw_draw.c | 105 src/mesa/drivers/dri/i965/brw_draw.h | 3 src/mesa/drivers/dri/i965/brw_draw_upload.c | 9 src/mesa/drivers/dri/i965/brw_fs.cpp | 1540 ++- src/mesa/drivers/dri/i965/brw_fs.h | 51 src/mesa/drivers/dri/i965/brw_fs_builder.h | 45 src/mesa/drivers/dri/i965/brw_fs_combine_constants.cpp | 2 src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp | 9 src/mesa/drivers/dri/i965/brw_fs_cse.cpp | 17 src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 55 src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 341 src/mesa/drivers/dri/i965/brw_fs_peephole_predicated_break.cpp | 8 src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp | 27 src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp | 32 src/mesa/drivers/dri/i965/brw_fs_sel_peephole.cpp | 12 src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp | 1096 ++ src/mesa/drivers/dri/i965/brw_fs_surface_builder.h | 89 src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp | 2 src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 1050 -- src/mesa/drivers/dri/i965/brw_gs.c | 4 src/mesa/drivers/dri/i965/brw_gs_surface_state.c | 25 src/mesa/drivers/dri/i965/brw_inst.h | 16 src/mesa/drivers/dri/i965/brw_ir_fs.h | 1 src/mesa/drivers/dri/i965/brw_ir_vec4.h | 2 src/mesa/drivers/dri/i965/brw_meta_fast_clear.c | 6 src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c | 4 src/mesa/drivers/dri/i965/brw_misc_state.c | 53 src/mesa/drivers/dri/i965/brw_nir.c | 96 src/mesa/drivers/dri/i965/brw_nir.h | 8 src/mesa/drivers/dri/i965/brw_nir_analyze_boolean_resolves.c | 57 src/mesa/drivers/dri/i965/brw_primitive_restart.c | 3 src/mesa/drivers/dri/i965/brw_program.c | 7 src/mesa/drivers/dri/i965/brw_reg.h | 8 src/mesa/drivers/dri/i965/brw_sampler_state.c | 4 src/mesa/drivers/dri/i965/brw_sf_state.c | 11 src/mesa/drivers/dri/i965/brw_shader.cpp | 111 src/mesa/drivers/dri/i965/brw_shader.h | 5 src/mesa/drivers/dri/i965/brw_state.h | 14 src/mesa/drivers/dri/i965/brw_state_cache.c | 87 src/mesa/drivers/dri/i965/brw_state_upload.c | 12 src/mesa/drivers/dri/i965/brw_surface_formats.c | 109 src/mesa/drivers/dri/i965/brw_tex_layout.c | 20 src/mesa/drivers/dri/i965/brw_util.h | 4 src/mesa/drivers/dri/i965/brw_vec4.cpp | 54 src/mesa/drivers/dri/i965/brw_vec4.h | 89 src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp | 1 src/mesa/drivers/dri/i965/brw_vec4_cse.cpp | 1 src/mesa/drivers/dri/i965/brw_vec4_generator.cpp | 10 src/mesa/drivers/dri/i965/brw_vec4_gs_nir.cpp | 118 src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp | 27 src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.h | 9 src/mesa/drivers/dri/i965/brw_vec4_nir.cpp | 1548 +++ src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp | 24 src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 531 - src/mesa/drivers/dri/i965/brw_vec4_vs_visitor.cpp | 5 src/mesa/drivers/dri/i965/brw_vs.c | 8 src/mesa/drivers/dri/i965/brw_vs.h | 3 src/mesa/drivers/dri/i965/brw_vs_surface_state.c | 25 src/mesa/drivers/dri/i965/brw_wm.c | 96 src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 251 src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp | 13 src/mesa/drivers/dri/i965/gen6_gs_visitor.h | 2 src/mesa/drivers/dri/i965/gen6_multisample_state.c | 11 src/mesa/drivers/dri/i965/gen6_sf_state.c | 2 src/mesa/drivers/dri/i965/gen6_viewport_state.c | 2 src/mesa/drivers/dri/i965/gen7_gs_state.c | 4 src/mesa/drivers/dri/i965/gen7_sf_state.c | 2 src/mesa/drivers/dri/i965/gen7_urb.c | 2 src/mesa/drivers/dri/i965/gen7_viewport_state.c | 2 src/mesa/drivers/dri/i965/gen7_vs_state.c | 23 src/mesa/drivers/dri/i965/gen7_wm_state.c | 18 src/mesa/drivers/dri/i965/gen8_depth_state.c | 6 src/mesa/drivers/dri/i965/gen8_gs_state.c | 4 src/mesa/drivers/dri/i965/gen8_ps_state.c | 9 src/mesa/drivers/dri/i965/gen8_sf_state.c | 2 src/mesa/drivers/dri/i965/gen8_viewport_state.c | 2 src/mesa/drivers/dri/i965/gen8_vs_state.c | 4 src/mesa/drivers/dri/i965/intel_blit.c | 8 src/mesa/drivers/dri/i965/intel_extensions.c | 1 src/mesa/drivers/dri/i965/intel_fbo.c | 2 src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 16 src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 10 src/mesa/drivers/dri/i965/intel_screen.c | 6 src/mesa/drivers/dri/i965/intel_tex.c | 2 src/mesa/drivers/dri/i965/intel_tex_image.c | 2 src/mesa/drivers/dri/i965/intel_tex_validate.c | 2 src/mesa/drivers/dri/i965/test_vec4_copy_propagation.cpp | 3 src/mesa/drivers/dri/i965/test_vec4_register_coalesce.cpp | 3 src/mesa/drivers/dri/nouveau/nouveau_swtnl_t.c | 1 src/mesa/drivers/dri/nouveau/nouveau_vbo_t.c | 7 src/mesa/drivers/dri/nouveau/nv04_render.c | 1 src/mesa/drivers/dri/r200/r200_state.c | 2 src/mesa/drivers/dri/radeon/radeon_state.c | 2 src/mesa/main/bufferobj.c | 11 src/mesa/main/clear.c | 12 src/mesa/main/context.c | 2 src/mesa/main/enable.c | 4 src/mesa/main/extensions.c | 3 src/mesa/main/fbobject.c | 5 src/mesa/main/ffvertex_prog.c | 10 src/mesa/main/fog.c | 2 src/mesa/main/format_parser.py | 7 src/mesa/main/format_utils.h | 9 src/mesa/main/formatquery.c | 4 src/mesa/main/formats.c | 23 src/mesa/main/formats.h | 5 src/mesa/main/get.c | 43 src/mesa/main/get_hash_generator.py | 12 src/mesa/main/get_hash_params.py | 81 src/mesa/main/glformats.c | 14 src/mesa/main/imports.c | 4 src/mesa/main/imports.h | 28 src/mesa/main/light.c | 30 src/mesa/main/lines.c | 4 src/mesa/main/macros.h | 22 src/mesa/main/mtypes.h | 5 src/mesa/main/multisample.c | 9 src/mesa/main/pack.c | 18 src/mesa/main/pixel.c | 4 src/mesa/main/pixeltransfer.c | 19 src/mesa/main/points.c | 8 src/mesa/main/program_resource.c | 71 src/mesa/main/readpix.c | 52 src/mesa/main/samplerobj.c | 2 src/mesa/main/shader_query.cpp | 251 src/mesa/main/shaderapi.c | 32 src/mesa/main/shaderapi.h | 3 src/mesa/main/shaderimage.c | 40 src/mesa/main/shaderimage.h | 3 src/mesa/main/tests/dispatch_sanity.cpp | 9 src/mesa/main/teximage.c | 254 src/mesa/main/teximage.h | 9 src/mesa/main/texobj.c | 4 src/mesa/main/texparam.c | 38 src/mesa/main/texstate.c | 20 src/mesa/main/uniform_query.cpp | 75 src/mesa/main/uniforms.c | 5 src/mesa/main/uniforms.h | 4 src/mesa/main/viewport.c | 14 src/mesa/main/viewport.h | 2 src/mesa/math/m_clip_tmp.h | 20 src/mesa/math/m_matrix.c | 74 src/mesa/math/m_matrix.h | 4 src/mesa/math/m_norm_tmp.h | 2 src/mesa/program/prog_execute.c | 34 src/mesa/state_tracker/st_atom.c | 1 src/mesa/state_tracker/st_atom.h | 1 src/mesa/state_tracker/st_atom_depth.c | 15 src/mesa/state_tracker/st_atom_shader.c | 29 src/mesa/state_tracker/st_atom_texture.c | 119 src/mesa/state_tracker/st_atom_viewport.c | 2 src/mesa/state_tracker/st_cb_rasterpos.c | 2 src/mesa/state_tracker/st_cb_texture.c | 2 src/mesa/state_tracker/st_cb_xformfb.c | 61 src/mesa/state_tracker/st_cb_xformfb.h | 4 src/mesa/state_tracker/st_context.h | 24 src/mesa/state_tracker/st_draw.c | 4 src/mesa/state_tracker/st_draw.h | 2 src/mesa/state_tracker/st_draw_feedback.c | 1 src/mesa/state_tracker/st_extensions.c | 49 src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 93 src/mesa/swrast/s_aaline.c | 28 src/mesa/swrast/s_aalinetemp.h | 4 src/mesa/swrast/s_atifragshader.c | 4 src/mesa/swrast/s_copypix.c | 6 src/mesa/swrast/s_depth.c | 14 src/mesa/swrast/s_drawpix.c | 12 src/mesa/swrast/s_fragprog.c | 4 src/mesa/swrast/s_lines.c | 4 src/mesa/swrast/s_points.c | 10 src/mesa/swrast/s_span.c | 10 src/mesa/swrast/s_texcombine.c | 6 src/mesa/swrast/s_texfilter.c | 8 src/mesa/swrast/s_tritemp.h | 2 src/mesa/swrast/s_zoom.c | 2 src/mesa/swrast_setup/ss_tritmp.h | 4 src/mesa/tnl/t_context.c | 2 src/mesa/tnl/t_draw.c | 3 src/mesa/tnl/t_rasterpos.c | 8 src/mesa/tnl/t_vb_fog.c | 6 src/mesa/tnl/t_vb_light.c | 22 src/mesa/tnl/t_vb_lighttmp.h | 16 src/mesa/tnl/t_vb_normals.c | 4 src/mesa/tnl/t_vertex_generic.c | 2 src/mesa/tnl/tnl.h | 3 src/mesa/vbo/vbo.h | 3 src/mesa/vbo/vbo_context.c | 6 src/mesa/vbo/vbo_exec_array.c | 24 src/mesa/vbo/vbo_exec_draw.c | 2 src/mesa/vbo/vbo_primitive_restart.c | 4 src/mesa/vbo/vbo_rebase.c | 2 src/mesa/vbo/vbo_save_draw.c | 2 src/mesa/vbo/vbo_split_copy.c | 2 src/mesa/vbo/vbo_split_inplace.c | 2 src/util/SConscript | 7 src/util/macros.h | 4 src/util/register_allocate.c | 56 src/util/rounding.h | 54 514 files changed, 41524 insertions(+), 6908 deletions(-)
New commits: commit 1af0641db345209c076e9b1ba4dca7524541671a Author: Ilia Mirkin <imir...@alum.mit.edu> Date: Mon Aug 17 04:08:01 2015 -0400 nvc0: implement the color buffer 0 is integer rule for alpha-to-one/cov The hardware checks for multisampling being enabled, but does not have the rule about cbuf0 being an integer format. Only enable alpha-to-one/alpha-to-coverage if cbuf0 is not an integer format. Fixes piglits ext_framebuffer_multisample-int-draw-buffers-alpha-to-one ext_framebuffer_multisample-int-draw-buffers-alpha-to-coverage Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c b/src/gallium/drivers/nouveau/nvc0/nvc0_state.c index 25183a6..ee29912 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_state.c @@ -90,7 +90,6 @@ nvc0_blend_state_create(struct pipe_context *pipe, struct nvc0_blend_stateobj *so = CALLOC_STRUCT(nvc0_blend_stateobj); int i; int r; /* reference */ - uint32_t ms; uint8_t blend_en = 0; bool indep_masks = false; bool indep_funcs = false; @@ -176,15 +175,6 @@ nvc0_blend_state_create(struct pipe_context *pipe, } } - ms = 0; - if (cso->alpha_to_coverage) - ms |= NVC0_3D_MULTISAMPLE_CTRL_ALPHA_TO_COVERAGE; - if (cso->alpha_to_one) - ms |= NVC0_3D_MULTISAMPLE_CTRL_ALPHA_TO_ONE; - - SB_BEGIN_3D(so, MULTISAMPLE_CTRL, 1); - SB_DATA (so, ms); - assert(so->size <= (sizeof(so->state) / sizeof(so->state[0]))); return so; } diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c b/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c index ce1119c..47bd66d 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c @@ -1,4 +1,5 @@ +#include "util/u_format.h" #include "util/u_math.h" #include "nvc0/nvc0_context.h" @@ -555,6 +556,25 @@ nvc0_validate_derived_2(struct nvc0_context *nvc0) } static void +nvc0_validate_derived_3(struct nvc0_context *nvc0) +{ + struct nouveau_pushbuf *push = nvc0->base.pushbuf; + struct pipe_framebuffer_state *fb = &nvc0->framebuffer; + uint32_t ms = 0; + + if ((!fb->nr_cbufs || !fb->cbufs[0] || + !util_format_is_pure_integer(fb->cbufs[0]->format)) && nvc0->blend) { + if (nvc0->blend->pipe.alpha_to_coverage) + ms |= NVC0_3D_MULTISAMPLE_CTRL_ALPHA_TO_COVERAGE; + if (nvc0->blend->pipe.alpha_to_one) + ms |= NVC0_3D_MULTISAMPLE_CTRL_ALPHA_TO_ONE; + } + + BEGIN_NVC0(push, NVC0_3D(MULTISAMPLE_CTRL), 1); + PUSH_DATA (push, ms); +} + +static void nvc0_validate_tess_state(struct nvc0_context *nvc0) { struct nouveau_pushbuf *push = nvc0->base.pushbuf; @@ -628,6 +648,7 @@ static struct state_validate { { nvc0_validate_derived_1, NVC0_NEW_FRAGPROG | NVC0_NEW_ZSA | NVC0_NEW_RASTERIZER }, { nvc0_validate_derived_2, NVC0_NEW_ZSA | NVC0_NEW_FRAMEBUFFER }, + { nvc0_validate_derived_3, NVC0_NEW_BLEND | NVC0_NEW_FRAMEBUFFER }, { nvc0_validate_clip, NVC0_NEW_CLIP | NVC0_NEW_RASTERIZER | NVC0_NEW_VERTPROG | NVC0_NEW_TEVLPROG | diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_stateobj.h b/src/gallium/drivers/nouveau/nvc0/nvc0_stateobj.h index 18fcc12..8bc33c6 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_stateobj.h +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_stateobj.h @@ -17,7 +17,7 @@ struct nvc0_blend_stateobj { struct pipe_blend_state pipe; int size; - uint32_t state[72]; + uint32_t state[70]; }; struct nvc0_rasterizer_stateobj { commit 19a5a91ea49bd411f4d438d416000d49ecc2de7e Author: Marta Lofstedt <marta.lofst...@intel.com> Date: Thu Aug 13 14:38:14 2015 +0200 mesa: Raise INVALID_VALUE from glCreateShaderProgramv if count < 0 According to OpenGL version 4.5 and OpenGL ES 3.1 standards, section 7.3: GL_INVALID_VALUE should be generated, if count is less than 0. V2: Changed title, eased Open GL ES 3.1 restriction and added comments. Signed-off-by: Marta Lofstedt <marta.lofst...@intel.com> Reviewed-by: Timothy Arceri <t_arc...@yahoo.com.au> diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index f9a7d13..1622274 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -2003,6 +2003,15 @@ _mesa_create_shader_program(struct gl_context* ctx, GLboolean separate, const GLuint shader = create_shader(ctx, type); GLuint program = 0; + /* + * According to OpenGL 4.5 and OpenGL ES 3.1 standards, section 7.3: + * GL_INVALID_VALUE should be generated if count < 0 + */ + if (count < 0) { + _mesa_error(ctx, GL_INVALID_VALUE, "glCreateShaderProgram (count < 0)"); + return program; + } + if (shader) { _mesa_ShaderSource(shader, count, strings, NULL); commit dd9d2963d66d24394b20823fcffb809cc8d5389d Author: Marta Lofstedt <marta.lofst...@intel.com> Date: Thu Aug 13 12:59:40 2015 +0200 mesa: AtomicBufferBindings should be initialized to zero. According to OpenGL specification version 4.5 table 23.46 and OpenGL ES specification version 3.1 table 20.31: ATOMIC_COUNTER_BUFFER_START and ATOMIC_COUNTER_BUFFER_SIZE should have the initial value of zero. Signed-off-by: Marta Lofstedt <marta.lofst...@intel.com> Reviewed-by: Erik Faye-Lund <kusmab...@gmail.com> diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c index 1cdea93..e17b41c 100644 --- a/src/mesa/main/bufferobj.c +++ b/src/mesa/main/bufferobj.c @@ -866,8 +866,8 @@ _mesa_init_buffer_objects( struct gl_context *ctx ) _mesa_reference_buffer_object(ctx, &ctx->AtomicBufferBindings[i].BufferObject, ctx->Shared->NullBufferObj); - ctx->AtomicBufferBindings[i].Offset = -1; - ctx->AtomicBufferBindings[i].Size = -1; + ctx->AtomicBufferBindings[i].Offset = 0; + ctx->AtomicBufferBindings[i].Size = 0; } } commit a7e6f8cc9f72fcf4eaef814eb50d53ccffd58730 Author: Tapani Pälli <tapani.pa...@intel.com> Date: Thu Aug 13 17:03:44 2015 +0300 mesa: fix target error checking in glGetTexLevelParameter With non-dsa functions we need to do target error checking before _mesa_get_current_tex_object which would just call _mesa_problem without raising GL_INVALID_ENUM error. In other places of Mesa, target gets checked before this call. Fixes failures in: ES31-CTS.texture_storage_multisample.APIGLGetTexLevelParameterifv.* v2: do the target check also for dsa functions (Timothy) Signed-off-by: Tapani Pälli <tapani.pa...@intel.com> Reviewed-by: Timothy Arceri <t_arc...@yahoo.com.au> diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c index c0611c3..5500eed 100644 --- a/src/mesa/main/texparam.c +++ b/src/mesa/main/texparam.c @@ -1562,6 +1562,19 @@ invalid_pname: _mesa_enum_to_string(pname)); } +static bool +valid_tex_level_parameteriv_target(struct gl_context *ctx, GLenum target, + bool dsa) +{ + const char *suffix = dsa ? "ture" : ""; + if (!legal_get_tex_level_parameter_target(ctx, target, dsa)) { + _mesa_error(ctx, GL_INVALID_ENUM, + "glGetTex%sLevelParameter[if]v(target=%s)", suffix, + _mesa_enum_to_string(target)); + return false; + } + return true; +} /** * This isn't exposed to the rest of the driver because it is a part of the @@ -1585,13 +1598,6 @@ get_tex_level_parameteriv(struct gl_context *ctx, return; } - if (!legal_get_tex_level_parameter_target(ctx, target, dsa)) { - _mesa_error(ctx, GL_INVALID_ENUM, - "glGetTex%sLevelParameter[if]v(target=%s)", suffix, - _mesa_enum_to_string(target)); - return; - } - maxLevels = _mesa_max_texture_levels(ctx, target); assert(maxLevels != 0); @@ -1619,6 +1625,9 @@ _mesa_GetTexLevelParameterfv( GLenum target, GLint level, GLint iparam; GET_CURRENT_CONTEXT(ctx); + if (!valid_tex_level_parameteriv_target(ctx, target, false)) + return; + texObj = _mesa_get_current_tex_object(ctx, target); if (!texObj) return; @@ -1636,6 +1645,9 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, struct gl_texture_object *texObj; GET_CURRENT_CONTEXT(ctx); + if (!valid_tex_level_parameteriv_target(ctx, target, false)) + return; + texObj = _mesa_get_current_tex_object(ctx, target); if (!texObj) return; @@ -1657,6 +1669,9 @@ _mesa_GetTextureLevelParameterfv(GLuint texture, GLint level, if (!texObj) return; + if (!valid_tex_level_parameteriv_target(ctx, texObj->Target, true)) + return; + get_tex_level_parameteriv(ctx, texObj, texObj->Target, level, pname, &iparam, true); @@ -1675,6 +1690,9 @@ _mesa_GetTextureLevelParameteriv(GLuint texture, GLint level, if (!texObj) return; + if (!valid_tex_level_parameteriv_target(ctx, texObj->Target, true)) + return; + get_tex_level_parameteriv(ctx, texObj, texObj->Target, level, pname, params, true); } commit 2f5ee9bf27b912726dea969a5e5159e1d6665f6c Author: Ilia Mirkin <imir...@alum.mit.edu> Date: Mon Aug 17 02:11:55 2015 -0400 gk110/ir: fix sched calculator to consider all registers in the ISA GK110/GK208 have 256 registers, not 64. Find out the number of registers from the target to avoid unnecessary iteration for pre-GK110. Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp index f607f3b..5703712 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp @@ -2614,11 +2614,12 @@ private: int imul; // integer MUL to MUL delay 3 } res; struct ScoreData { - int r[64]; + int r[256]; int p[8]; int c; } rd, wr; int base; + int regs; void rebase(const int base) { @@ -2627,7 +2628,7 @@ private: return; this->base = 0; - for (int i = 0; i < 64; ++i) { + for (int i = 0; i < regs; ++i) { rd.r[i] += delta; wr.r[i] += delta; } @@ -2646,16 +2647,17 @@ private: res.imul += delta; res.tex += delta; } - void wipe() + void wipe(int regs) { memset(&rd, 0, sizeof(rd)); memset(&wr, 0, sizeof(wr)); memset(&res, 0, sizeof(res)); + this->regs = regs; } int getLatest(const ScoreData& d) const { int max = 0; - for (int i = 0; i < 64; ++i) + for (int i = 0; i < regs; ++i) if (d.r[i] > max) max = d.r[i]; for (int i = 0; i < 8; ++i) @@ -2690,7 +2692,7 @@ private: } void setMax(const RegScores *that) { - for (int i = 0; i < 64; ++i) { + for (int i = 0; i < regs; ++i) { rd.r[i] = MAX2(rd.r[i], that->rd.r[i]); wr.r[i] = MAX2(wr.r[i], that->wr.r[i]); } @@ -2711,7 +2713,7 @@ private: } void print(int cycle) { - for (int i = 0; i < 64; ++i) { + for (int i = 0; i < regs; ++i) { if (rd.r[i] > cycle) INFO("rd $r%i @ %i\n", i, rd.r[i]); if (wr.r[i] > cycle) @@ -2806,9 +2808,10 @@ SchedDataCalculator::getCycles(const Instruction *insn, int origDelay) const bool SchedDataCalculator::visit(Function *func) { + int regs = targ->getFileSize(FILE_GPR) + 1; scoreBoards.resize(func->cfg.getSize()); for (size_t i = 0; i < scoreBoards.size(); ++i) - scoreBoards[i].wipe(); + scoreBoards[i].wipe(regs); return true; } commit e32325fc85f0d1485dec63b363c18d76f4e89714 Author: Timothy Arceri <t_arc...@yahoo.com.au> Date: Sat Aug 15 13:29:19 2015 +1000 mesa: rename texture function now that its static Reviewed-by: Brian Paul <bri...@vmware.com> diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 3a556a6..81e9e37 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -5596,13 +5596,13 @@ check_multisample_target(GLuint dims, GLenum target, bool dsa) static void -_mesa_texture_image_multisample(struct gl_context *ctx, GLuint dims, - struct gl_texture_object *texObj, - GLenum target, GLsizei samples, - GLint internalformat, GLsizei width, - GLsizei height, GLsizei depth, - GLboolean fixedsamplelocations, - GLboolean immutable, const char *func) +texture_image_multisample(struct gl_context *ctx, GLuint dims, + struct gl_texture_object *texObj, + GLenum target, GLsizei samples, + GLint internalformat, GLsizei width, + GLsizei height, GLsizei depth, + GLboolean fixedsamplelocations, + GLboolean immutable, const char *func) { struct gl_texture_image *texImage; GLboolean sizeOK, dimensionsOK, samplesOK; @@ -5763,10 +5763,10 @@ _mesa_TexImage2DMultisample(GLenum target, GLsizei samples, if (!texObj) return; - _mesa_texture_image_multisample(ctx, 2, texObj, target, samples, - internalformat, width, height, 1, - fixedsamplelocations, GL_FALSE, - "glTexImage2DMultisample"); + texture_image_multisample(ctx, 2, texObj, target, samples, + internalformat, width, height, 1, + fixedsamplelocations, GL_FALSE, + "glTexImage2DMultisample"); } @@ -5783,10 +5783,10 @@ _mesa_TexImage3DMultisample(GLenum target, GLsizei samples, if (!texObj) return; - _mesa_texture_image_multisample(ctx, 3, texObj, target, samples, - internalformat, width, height, depth, - fixedsamplelocations, GL_FALSE, - "glTexImage3DMultisample"); + texture_image_multisample(ctx, 3, texObj, target, samples, + internalformat, width, height, depth, + fixedsamplelocations, GL_FALSE, + "glTexImage3DMultisample"); } @@ -5802,10 +5802,10 @@ _mesa_TexStorage2DMultisample(GLenum target, GLsizei samples, if (!texObj) return; - _mesa_texture_image_multisample(ctx, 2, texObj, target, samples, - internalformat, width, height, 1, - fixedsamplelocations, GL_TRUE, - "glTexStorage2DMultisample"); + texture_image_multisample(ctx, 2, texObj, target, samples, + internalformat, width, height, 1, + fixedsamplelocations, GL_TRUE, + "glTexStorage2DMultisample"); } void GLAPIENTRY @@ -5821,10 +5821,10 @@ _mesa_TexStorage3DMultisample(GLenum target, GLsizei samples, if (!texObj) return; - _mesa_texture_image_multisample(ctx, 3, texObj, target, samples, - internalformat, width, height, depth, - fixedsamplelocations, GL_TRUE, - "glTexStorage3DMultisample"); + texture_image_multisample(ctx, 3, texObj, target, samples, + internalformat, width, height, depth, + fixedsamplelocations, GL_TRUE, + "glTexStorage3DMultisample"); } void GLAPIENTRY @@ -5841,10 +5841,10 @@ _mesa_TextureStorage2DMultisample(GLuint texture, GLsizei samples, if (!texObj) return; - _mesa_texture_image_multisample(ctx, 2, texObj, texObj->Target, samples, - internalformat, width, height, 1, - fixedsamplelocations, GL_TRUE, - "glTextureStorage2DMultisample"); + texture_image_multisample(ctx, 2, texObj, texObj->Target, samples, + internalformat, width, height, 1, + fixedsamplelocations, GL_TRUE, + "glTextureStorage2DMultisample"); } void GLAPIENTRY @@ -5862,8 +5862,8 @@ _mesa_TextureStorage3DMultisample(GLuint texture, GLsizei samples, if (!texObj) return; - _mesa_texture_image_multisample(ctx, 3, texObj, texObj->Target, samples, - internalformat, width, height, depth, - fixedsamplelocations, GL_TRUE, - "glTextureStorage3DMultisample"); + texture_image_multisample(ctx, 3, texObj, texObj->Target, samples, + internalformat, width, height, depth, + fixedsamplelocations, GL_TRUE, + "glTextureStorage3DMultisample"); } commit a0cea8f642688f9a51ee5cb96a3963372d14f14e Author: Tapani Pälli <tapani.pa...@intel.com> Date: Fri Aug 14 13:36:40 2015 +0300 glsl: add missing MS sampler builtin types for GLSL ES 3.10 Signed-off-by: Tapani Pälli <tapani.pa...@intel.com>