[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mesa: Changes to 'upstream-experimental'



 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 <imirkin@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 <imirkin@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.lofstedt@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.lofstedt@intel.com>
    Reviewed-by: Timothy Arceri <t_arceri@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.lofstedt@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.lofstedt@intel.com>
    Reviewed-by: Erik Faye-Lund <kusmabite@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.palli@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.palli@intel.com>
    Reviewed-by: Timothy Arceri <t_arceri@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 <imirkin@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 <imirkin@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_arceri@yahoo.com.au>
Date:   Sat Aug 15 13:29:19 2015 +1000

    mesa: rename texture function now that its static
    
    Reviewed-by: Brian Paul <brianp@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.palli@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.palli@intel.com>


Reply to: