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

mesa: Changes to 'upstream-experimental'



 Android.mk                                                     |    5 
 CleanSpec.mk                                                   |    7 
 VERSION                                                        |    2 
 configure.ac                                                   |   60 
 docs/GL3.txt                                                   |   56 
 docs/autoconf.html                                             |   54 
 docs/index.html                                                |    6 
 docs/relnotes.html                                             |    1 
 docs/relnotes/10.2.6.html                                      |  118 
 docs/relnotes/10.3.html                                        |   15 
 include/GL/gl_mangle.h                                         |  139 
 include/GL/glcorearb.h                                         | 3589 ++++++++++
 include/GL/glext.h                                             |  380 +
 include/GL/glxext.h                                            |   11 
 include/GL/wglext.h                                            |   11 
 include/c11/threads_win32.h                                    |    2 
 install-lib-links.mk                                           |    2 
 scons/custom.py                                                |    3 
 src/Makefile.am                                                |   13 
 src/egl/drivers/dri2/Android.mk                                |    4 
 src/egl/drivers/dri2/egl_dri2.c                                |   39 
 src/egl/drivers/dri2/platform_android.c                        |    4 
 src/egl/main/Android.mk                                        |   52 
 src/egl/main/Makefile.am                                       |   40 
 src/egl/main/Makefile.sources                                  |   38 
 src/egl/main/SConscript                                        |   21 
 src/gallium/Android.mk                                         |   22 
 src/gallium/Makefile.am                                        |  174 
 src/gallium/SConscript                                         |   42 
 src/gallium/auxiliary/Makefile.sources                         |    1 
 src/gallium/auxiliary/gallivm/lp_bld_misc.cpp                  |    4 
 src/gallium/auxiliary/os/os_misc.c                             |   64 
 src/gallium/auxiliary/os/os_misc.h                             |    7 
 src/gallium/auxiliary/os/os_process.c                          |    7 
 src/gallium/auxiliary/pipe-loader/pipe_loader.h                |    2 
 src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c            |    2 
 src/gallium/auxiliary/tgsi/tgsi_info.c                         |    4 
 src/gallium/auxiliary/tgsi/tgsi_ureg.c                         |    2 
 src/gallium/auxiliary/tgsi/tgsi_util.c                         |    2 
 src/gallium/auxiliary/util/u_blitter.c                         |    2 
 src/gallium/auxiliary/util/u_format.c                          |    4 
 src/gallium/auxiliary/util/u_format.csv                        |    6 
 src/gallium/auxiliary/util/u_format.h                          |   12 
 src/gallium/auxiliary/util/u_format_bptc.c                     |   26 
 src/gallium/auxiliary/util/u_format_bptc.h                     |  109 
 src/gallium/auxiliary/util/u_format_pack.py                    |    2 
 src/gallium/auxiliary/util/u_format_table.py                   |    3 
 src/gallium/auxiliary/util/u_inlines.h                         |    3 
 src/gallium/auxiliary/util/u_math.h                            |   62 
 src/gallium/docs/source/screen.rst                             |   12 
 src/gallium/docs/source/tgsi.rst                               |   12 
 src/gallium/drivers/Makefile.am                                |  100 
 src/gallium/drivers/freedreno/Android.mk                       |   44 
 src/gallium/drivers/freedreno/Makefile.am                      |    2 
 src/gallium/drivers/freedreno/freedreno_screen.c               |   18 
 src/gallium/drivers/i915/i915_screen.c                         |   25 
 src/gallium/drivers/i915/i915_winsys.h                         |    5 
 src/gallium/drivers/ilo/Makefile.sources                       |    1 
 src/gallium/drivers/ilo/ilo_3d_pipeline_gen6.c                 |   34 
 src/gallium/drivers/ilo/ilo_blitter_blt.c                      |   44 
 src/gallium/drivers/ilo/ilo_blitter_rectlist.c                 |   12 
 src/gallium/drivers/ilo/ilo_common.h                           |    2 
 src/gallium/drivers/ilo/ilo_gpe.h                              |   13 
 src/gallium/drivers/ilo/ilo_gpe_gen6.c                         |  279 
 src/gallium/drivers/ilo/ilo_gpe_gen7.c                         |   70 
 src/gallium/drivers/ilo/ilo_layout.c                           | 1387 +++
 src/gallium/drivers/ilo/ilo_layout.h                           |  292 
 src/gallium/drivers/ilo/ilo_resource.c                         | 1381 ---
 src/gallium/drivers/ilo/ilo_resource.h                         |   54 
 src/gallium/drivers/ilo/ilo_screen.c                           |   27 
 src/gallium/drivers/ilo/ilo_state.c                            |   10 
 src/gallium/drivers/ilo/ilo_transfer.c                         |  120 
 src/gallium/drivers/llvmpipe/lp_screen.c                       |   27 
 src/gallium/drivers/nouveau/Android.mk                         |    9 
 src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp      |    6 
 src/gallium/drivers/nouveau/nv30/nv30_screen.c                 |   22 
 src/gallium/drivers/nouveau/nv50/nv50_formats.c                |    7 
 src/gallium/drivers/nouveau/nv50/nv50_screen.c                 |   28 
 src/gallium/drivers/nouveau/nvc0/nvc0_context.h                |    3 
 src/gallium/drivers/nouveau/nvc0/nvc0_query.c                  |   61 
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c                 |   28 
 src/gallium/drivers/nouveau/nvc0/nvc0_surface.c                |    2 
 src/gallium/drivers/r300/Android.mk                            |    3 
 src/gallium/drivers/r300/Makefile.am                           |    3 
 src/gallium/drivers/r300/compiler/radeon_emulate_loops.c       |   34 
 src/gallium/drivers/r300/compiler/radeon_pair_regalloc.c       |    2 
 src/gallium/drivers/r300/compiler/tests/rc_test_helpers.c      |    2 
 src/gallium/drivers/r300/r300_screen.c                         |   13 
 src/gallium/drivers/r600/Android.mk                            |    2 
 src/gallium/drivers/r600/evergreen_compute.c                   |    8 
 src/gallium/drivers/r600/evergreen_state.c                     |  115 
 src/gallium/drivers/r600/evergreend.h                          |    1 
 src/gallium/drivers/r600/r600_blit.c                           |    1 
 src/gallium/drivers/r600/r600_isa.h                            |    9 
 src/gallium/drivers/r600/r600_pipe.c                           |   25 
 src/gallium/drivers/r600/r600_pipe.h                           |    7 
 src/gallium/drivers/r600/r600_shader.c                         |   21 
 src/gallium/drivers/r600/r600_state.c                          |   31 
 src/gallium/drivers/r600/r600_state_common.c                   |  155 
 src/gallium/drivers/r600/r600_uvd.c                            |    2 
 src/gallium/drivers/r600/r600d.h                               |   11 
 src/gallium/drivers/r600/sb/sb_bc_finalize.cpp                 |  119 
 src/gallium/drivers/r600/sb/sb_bc_parser.cpp                   |   13 
 src/gallium/drivers/r600/sb/sb_pass.h                          |    3 
 src/gallium/drivers/radeon/Android.mk                          |   38 
 src/gallium/drivers/radeon/r600_buffer_common.c                |   20 
 src/gallium/drivers/radeon/r600_pipe_common.c                  |  113 
 src/gallium/drivers/radeon/r600_pipe_common.h                  |   13 
 src/gallium/drivers/radeonsi/Android.mk                        |    2 
 src/gallium/drivers/radeonsi/si_blit.c                         |    8 
 src/gallium/drivers/radeonsi/si_compute.c                      |   30 
 src/gallium/drivers/radeonsi/si_descriptors.c                  |   13 
 src/gallium/drivers/radeonsi/si_dma.c                          |    6 
 src/gallium/drivers/radeonsi/si_pipe.c                         |   22 
 src/gallium/drivers/radeonsi/si_pipe.h                         |    1 
 src/gallium/drivers/radeonsi/si_shader.c                       |    4 
 src/gallium/drivers/radeonsi/si_state.c                        |   71 
 src/gallium/drivers/radeonsi/si_state.h                        |   17 
 src/gallium/drivers/radeonsi/si_state_draw.c                   |  105 
 src/gallium/drivers/radeonsi/si_uvd.c                          |    2 
 src/gallium/drivers/rbug/rbug_context.c                        |   52 
 src/gallium/drivers/rbug/rbug_core.c                           |    5 
 src/gallium/drivers/rbug/rbug_objects.c                        |    9 
 src/gallium/drivers/softpipe/sp_screen.c                       |   27 
 src/gallium/drivers/svga/include/svga3d_surfacedefs.h          |    5 
 src/gallium/drivers/svga/include/svga_reg.h                    |   10 
 src/gallium/drivers/svga/svga_resource.c                       |   43 
 src/gallium/drivers/svga/svga_resource_texture.c               |   10 
 src/gallium/drivers/svga/svga_screen.c                         |   14 
 src/gallium/drivers/svga/svga_screen_cache.c                   |    4 
 src/gallium/drivers/svga/svga_surface.c                        |    2 
 src/gallium/drivers/svga/svga_winsys.h                         |   12 
 src/gallium/drivers/vc4/vc4_context.c                          |   57 
 src/gallium/drivers/vc4/vc4_context.h                          |    5 
 src/gallium/drivers/vc4/vc4_draw.c                             |    2 
 src/gallium/drivers/vc4/vc4_program.c                          |  411 -
 src/gallium/drivers/vc4/vc4_qir.c                              |    1 
 src/gallium/drivers/vc4/vc4_qir.h                              |   11 
 src/gallium/drivers/vc4/vc4_qpu_emit.c                         |    7 
 src/gallium/drivers/vc4/vc4_resource.c                         |   14 
 src/gallium/drivers/vc4/vc4_screen.c                           |   46 
 src/gallium/drivers/vc4/vc4_screen.h                           |    3 
 src/gallium/drivers/vc4/vc4_simulator.c                        |    4 
 src/gallium/drivers/vc4/vc4_simulator_validate_shaders.c       |    1 
 src/gallium/include/pipe/p_defines.h                           |    7 
 src/gallium/include/pipe/p_format.h                            |    5 
 src/gallium/include/pipe/p_shader_tokens.h                     |    5 
 src/gallium/state_trackers/Makefile.am                         |   66 
 src/gallium/state_trackers/clover/api/program.cpp              |   14 
 src/gallium/state_trackers/clover/api/queue.cpp                |    6 
 src/gallium/state_trackers/clover/core/kernel.cpp              |    3 
 src/gallium/state_trackers/clover/core/kernel.hpp              |    1 
 src/gallium/state_trackers/clover/core/program.cpp             |    9 
 src/gallium/state_trackers/clover/core/program.hpp             |    5 
 src/gallium/state_trackers/clover/llvm/invocation.cpp          |   16 
 src/gallium/state_trackers/clover/util/pointer.hpp             |   49 
 src/gallium/state_trackers/dri/Makefile.am                     |    5 
 src/gallium/state_trackers/dri/Makefile.sources                |    2 
 src/gallium/state_trackers/dri/SConscript                      |    5 
 src/gallium/state_trackers/dri/dri2.c                          |    4 
 src/gallium/state_trackers/dri/dri_query_renderer.c            |   73 
 src/gallium/state_trackers/dri/dri_query_renderer.h            |    9 
 src/gallium/state_trackers/dri/drisw.c                         |    2 
 src/gallium/state_trackers/egl/android/native_android.cpp      |    4 
 src/gallium/state_trackers/vdpau/bitmap.c                      |    4 
 src/gallium/state_trackers/vdpau/decode.c                      |    4 
 src/gallium/state_trackers/vdpau/device.c                      |   21 
 src/gallium/state_trackers/vdpau/mixer.c                       |    4 
 src/gallium/state_trackers/vdpau/output.c                      |    4 
 src/gallium/state_trackers/vdpau/presentation.c                |    4 
 src/gallium/state_trackers/vdpau/surface.c                     |    4 
 src/gallium/state_trackers/vdpau/vdpau_private.h               |   12 
 src/gallium/targets/Makefile.am                                |   71 
 src/gallium/targets/egl-static/Android.mk                      |    7 
 src/gallium/targets/haiku-softpipe/SConscript                  |    1 
 src/gallium/winsys/Makefile.am                                 |   77 
 src/gallium/winsys/freedreno/drm/Android.mk                    |   37 
 src/gallium/winsys/i915/drm/Android.mk                         |    5 
 src/gallium/winsys/i915/drm/i915_drm_winsys.c                  |   12 
 src/gallium/winsys/intel/drm/Android.mk                        |    5 
 src/gallium/winsys/intel/drm/intel_drm_winsys.c                |    6 
 src/gallium/winsys/intel/intel_winsys.h                        |    4 
 src/gallium/winsys/nouveau/drm/Android.mk                      |    5 
 src/gallium/winsys/radeon/drm/Android.mk                       |    4 
 src/gallium/winsys/radeon/drm/radeon_drm_cs.c                  |    6 
 src/gallium/winsys/radeon/drm/radeon_drm_winsys.c              |   10 
 src/gallium/winsys/radeon/drm/radeon_drm_winsys.h              |    1 
 src/gallium/winsys/svga/drm/Android.mk                         |    3 
 src/gallium/winsys/svga/drm/vmw_context.c                      |   19 
 src/gallium/winsys/svga/drm/vmw_screen.h                       |    1 
 src/gallium/winsys/svga/drm/vmw_screen_ioctl.c                 |   17 
 src/gallium/winsys/svga/drm/vmw_screen_svga.c                  |   24 
 src/glsl/Android.mk                                            |    2 
 src/glsl/builtin_functions.cpp                                 |   48 
 src/glsl/glcpp/glcpp-parse.y                                   |    3 
 src/glsl/glcpp/tests/glcpp-test                                |    4 
 src/glsl/glcpp/tests/glcpp-test-cr-lf                          |    4 
 src/glsl/glsl_parser_extras.cpp                                |    1 
 src/glsl/glsl_parser_extras.h                                  |    2 
 src/glsl/ir.cpp                                                |    8 
 src/glsl/ir.h                                                  |    4 
 src/glsl/ir_constant_expression.cpp                            |    4 
 src/glsl/ir_set_program_inouts.cpp                             |    4 
 src/glsl/ir_validate.cpp                                       |    4 
 src/glsl/link_uniform_initializers.cpp                         |   27 
 src/glsl/link_uniforms.cpp                                     |    5 
 src/glsl/linker.cpp                                            |    2 
 src/glsl/linker.h                                              |    6 
 src/glsl/opt_vectorize.cpp                                     |   13 
 src/glsl/tests/copy_constant_to_storage_tests.cpp              |   28 
 src/glsl/tests/set_uniform_initializer_tests.cpp               |   11 
 src/glsl/tests/uniform_initializer_utils.cpp                   |    7 
 src/glsl/tests/uniform_initializer_utils.h                     |    3 
 src/glx/dri2_query_renderer.c                                  |   94 
 src/glx/drisw_glx.c                                            |   53 
 src/glx/drisw_priv.h                                           |   72 
 src/loader/Android.mk                                          |   10 
 src/mapi/Makefile.am                                           |  184 
 src/mapi/es1api/Makefile.am                                    |   64 
 src/mapi/es2api/Makefile.am                                    |   69 
 src/mapi/glapi/Makefile.am                                     |   64 
 src/mapi/glapi/Makefile.sources                                |   22 
 src/mapi/glapi/gen/ARB_texture_barrier.xml                     |   13 
 src/mapi/glapi/gen/Makefile.am                                 |    1 
 src/mapi/glapi/gen/gl_API.xml                                  |   13 
 src/mapi/glapi/tests/Makefile.am                               |   20 
 src/mapi/shared-glapi/Makefile.am                              |   34 
 src/mapi/shared-glapi/tests/Makefile.am                        |   19 
 src/mesa/Android.libmesa_dricore.mk                            |    1 
 src/mesa/Makefile.am                                           |   14 
 src/mesa/Makefile.sources                                      |    1 
 src/mesa/drivers/common/meta.c                                 |  142 
 src/mesa/drivers/common/meta.h                                 |   17 
 src/mesa/drivers/dri/Android.mk                                |    6 
 src/mesa/drivers/dri/common/Android.mk                         |    4 
 src/mesa/drivers/dri/common/utils.c                            |    4 
 src/mesa/drivers/dri/i915/Android.mk                           |    8 
 src/mesa/drivers/dri/i915/Makefile.sources                     |    4 
 src/mesa/drivers/dri/i915/intel_screen.c                       |    3 
 src/mesa/drivers/dri/i965/Android.mk                           |   11 
 src/mesa/drivers/dri/i965/Makefile.sources                     |   15 
 src/mesa/drivers/dri/i965/brw_blorp.cpp                        |    2 
 src/mesa/drivers/dri/i965/brw_blorp.h                          |   18 
 src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp                |    6 
 src/mesa/drivers/dri/i965/brw_blorp_clear.cpp                  |  620 -
 src/mesa/drivers/dri/i965/brw_cfg.cpp                          |   25 
 src/mesa/drivers/dri/i965/brw_cfg.h                            |   22 
 src/mesa/drivers/dri/i965/brw_clear.c                          |   12 
 src/mesa/drivers/dri/i965/brw_context.c                        |   71 
 src/mesa/drivers/dri/i965/brw_context.h                        |   39 
 src/mesa/drivers/dri/i965/brw_curbe.c                          |   22 
 src/mesa/drivers/dri/i965/brw_dead_control_flow.cpp            |    3 
 src/mesa/drivers/dri/i965/brw_defines.h                        |   18 
 src/mesa/drivers/dri/i965/brw_disasm.c                         |    1 
 src/mesa/drivers/dri/i965/brw_draw.c                           |   55 
 src/mesa/drivers/dri/i965/brw_eu.c                             |    2 
 src/mesa/drivers/dri/i965/brw_eu.h                             |   10 
 src/mesa/drivers/dri/i965/brw_eu_compact.c                     |  430 +
 src/mesa/drivers/dri/i965/brw_eu_emit.c                        |  199 
 src/mesa/drivers/dri/i965/brw_fs.cpp                           |  252 
 src/mesa/drivers/dri/i965/brw_fs.h                             |  107 
 src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp       |    4 
 src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp          |   96 
 src/mesa/drivers/dri/i965/brw_fs_cse.cpp                       |    4 
 src/mesa/drivers/dri/i965/brw_fs_dead_code_eliminate.cpp       |    5 
 src/mesa/drivers/dri/i965/brw_fs_fp.cpp                        |    2 
 src/mesa/drivers/dri/i965/brw_fs_generator.cpp                 |  348 
 src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp            |   51 
 src/mesa/drivers/dri/i965/brw_fs_peephole_predicated_break.cpp |    9 
 src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp              |    2 
 src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp      |    5 
 src/mesa/drivers/dri/i965/brw_fs_sel_peephole.cpp              |    4 
 src/mesa/drivers/dri/i965/brw_fs_visitor.cpp                   |  295 
 src/mesa/drivers/dri/i965/brw_meta_fast_clear.c                |  706 +
 src/mesa/drivers/dri/i965/brw_misc_state.c                     |    4 
 src/mesa/drivers/dri/i965/brw_shader.cpp                       |    6 
 src/mesa/drivers/dri/i965/brw_state.h                          |    3 
 src/mesa/drivers/dri/i965/brw_surface_formats.c                |    5 
 src/mesa/drivers/dri/i965/brw_tex_layout.c                     |   62 
 src/mesa/drivers/dri/i965/brw_vec4.cpp                         |  184 
 src/mesa/drivers/dri/i965/brw_vec4.h                           |   74 
 src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp        |    6 
 src/mesa/drivers/dri/i965/brw_vec4_cse.cpp                     |    4 
 src/mesa/drivers/dri/i965/brw_vec4_generator.cpp               |  247 
 src/mesa/drivers/dri/i965/brw_vec4_gs.c                        |    7 
 src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp              |   18 
 src/mesa/drivers/dri/i965/brw_vec4_live_variables.cpp          |   51 
 src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp            |    2 
 src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp                 |  165 
 src/mesa/drivers/dri/i965/brw_vec4_vp.cpp                      |   21 
 src/mesa/drivers/dri/i965/brw_vs.c                             |    6 
 src/mesa/drivers/dri/i965/brw_vs_surface_state.c               |   10 
 src/mesa/drivers/dri/i965/brw_wm.c                             |    5 
 src/mesa/drivers/dri/i965/gen6_blorp.cpp                       |  114 
 src/mesa/drivers/dri/i965/gen6_clip_state.c                    |    8 
 src/mesa/drivers/dri/i965/gen6_depth_state.c                   |  249 
 src/mesa/drivers/dri/i965/gen6_sf_state.c                      |    5 
 src/mesa/drivers/dri/i965/gen6_surface_state.c                 |  145 
 src/mesa/drivers/dri/i965/gen6_vs_state.c                      |    8 
 src/mesa/drivers/dri/i965/gen6_wm_state.c                      |   19 
 src/mesa/drivers/dri/i965/gen7_blorp.cpp                       |    2 
 src/mesa/drivers/dri/i965/gen7_sf_state.c                      |    6 
 src/mesa/drivers/dri/i965/gen7_wm_state.c                      |   24 
 src/mesa/drivers/dri/i965/gen7_wm_surface_state.c              |    6 
 src/mesa/drivers/dri/i965/gen8_fs_generator.cpp                | 1299 ---
 src/mesa/drivers/dri/i965/gen8_generator.cpp                   |  620 -
 src/mesa/drivers/dri/i965/gen8_generator.h                     |  196 
 src/mesa/drivers/dri/i965/gen8_instruction.c                   |  458 -
 src/mesa/drivers/dri/i965/gen8_instruction.h                   |  418 -
 src/mesa/drivers/dri/i965/gen8_ps_state.c                      |   20 
 src/mesa/drivers/dri/i965/gen8_sf_state.c                      |    5 
 src/mesa/drivers/dri/i965/gen8_vec4_generator.cpp              |  921 --
 src/mesa/drivers/dri/i965/intel_asm_annotation.c               |   10 
 src/mesa/drivers/dri/i965/intel_asm_annotation.h               |    2 
 src/mesa/drivers/dri/i965/intel_debug.c                        |    1 
 src/mesa/drivers/dri/i965/intel_debug.h                        |    1 
 src/mesa/drivers/dri/i965/intel_extensions.c                   |    7 
 src/mesa/drivers/dri/i965/intel_fbo.c                          |    9 
 src/mesa/drivers/dri/i965/intel_mipmap_tree.c                  |   52 
 src/mesa/drivers/dri/i965/intel_mipmap_tree.h                  |   67 
 src/mesa/drivers/dri/i965/intel_screen.c                       |    4 
 src/mesa/drivers/dri/i965/intel_tex.c                          |    3 
 src/mesa/drivers/dri/i965/intel_tex_copy.c                     |   21 
 src/mesa/drivers/dri/i965/intel_tex_image.c                    |    3 
 src/mesa/drivers/dri/i965/intel_tex_subimage.c                 |    3 
 src/mesa/drivers/dri/i965/intel_tex_validate.c                 |    3 
 src/mesa/drivers/dri/nouveau/.dir-locals.el                    |    8 
 src/mesa/drivers/dri/nouveau/nouveau_bufferobj.c               |    1 
 src/mesa/drivers/dri/nouveau/nouveau_driver.c                  |   34 
 src/mesa/drivers/dri/nouveau/nouveau_driver.h                  |    5 
 src/mesa/drivers/dri/nouveau/nouveau_screen.c                  |   82 
 src/mesa/drivers/dri/nouveau/nouveau_state.c                   |    1 
 src/mesa/drivers/dri/nouveau/nouveau_texture.c                 |   23 
 src/mesa/drivers/dri/nouveau/nouveau_util.h                    |   15 
 src/mesa/drivers/dri/radeon/radeon_common_context.c            |   53 
 src/mesa/drivers/dri/radeon/radeon_common_context.h            |    4 
 src/mesa/drivers/dri/radeon/radeon_screen.c                    |   68 
 src/mesa/drivers/dri/radeon/radeon_screen.h                    |    2 
 src/mesa/drivers/dri/swrast/swrast.c                           |   73 
 src/mesa/drivers/haiku/swrast/SConscript                       |    1 
 src/mesa/main/buffers.c                                        |    2 
 src/mesa/main/condrender.c                                     |   23 
 src/mesa/main/copyimage.c                                      |    8 
 src/mesa/main/extensions.c                                     |    7 
 src/mesa/main/format_info.py                                   |    7 
 src/mesa/main/formats.c                                        |   20 
 src/mesa/main/formats.csv                                      |    6 
 src/mesa/main/formats.h                                        |    6 
 src/mesa/main/glformats.c                                      |   10 
 src/mesa/main/mipmap.c                                         |   13 
 src/mesa/main/mtypes.h                                         |    3 
 src/mesa/main/pixelstore.c                                     |   42 
 src/mesa/main/pixelstore.h                                     |    8 
 src/mesa/main/shared.c                                         |    2 
 src/mesa/main/tests/enum_strings.cpp                           |    4 
 src/mesa/main/texcompress.c                                    |   34 
 src/mesa/main/texcompress_bptc.c                               | 1649 ++++
 src/mesa/main/texcompress_bptc.h                               |   44 
 src/mesa/main/texformat.c                                      |    8 
 src/mesa/main/texgetimage.c                                    |    9 
 src/mesa/main/teximage.c                                       |   64 
 src/mesa/main/teximage.h                                       |    6 
 src/mesa/main/texparam.c                                       |    6 
 src/mesa/main/texstore.c                                       |   40 
 src/mesa/main/texstore.h                                       |    9 
 src/mesa/main/uniform_query.cpp                                |    4 
 src/mesa/main/varray.c                                         |    4 
 src/mesa/main/varray.h                                         |    4 
 src/mesa/program/ir_to_mesa.cpp                                |    7 
 src/mesa/program/register_allocate.c                           |  145 
 src/mesa/program/register_allocate.h                           |    5 
 src/mesa/state_tracker/st_cb_condrender.c                      |   20 
 src/mesa/state_tracker/st_cb_texture.c                         |    8 
 src/mesa/state_tracker/st_extensions.c                         |   13 
 src/mesa/state_tracker/st_format.c                             |   40 
 src/mesa/state_tracker/st_glsl_to_tgsi.cpp                     |   68 
 src/mesa/swrast/s_texfetch.c                                   |   24 
 src/mesa/vbo/vbo_exec_array.c                                  |    6 
 378 files changed, 15439 insertions(+), 9328 deletions(-)

New commits:
commit 04c3c0368252db0000837e054ee1e995f4940381
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 21 08:36:46 2014 -0700

    Increment version to 10.3.0-rc1

diff --git a/VERSION b/VERSION
index 75a04c3..9cad0c5 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-10.3.0-devel
+10.3.0-rc1

commit 0fb221065eff3788e9bf607a5cf39bd0409740be
Author: Glenn Kennard <glenn.kennard@gmail.com>
Date:   Wed Aug 20 21:55:37 2014 +0200

    r600g: Fix flat/smooth shade state toggle
    
    If only the flat/smooth shade state changed between
    two render calls the prior code would miss updating the
    hardware state.
    
    Also add check for sprite coord, potentially same type
    of issue otherwise for it.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81967
    Signed-off-by: Glenn Kennard <glenn.kennard@gmail.com>
    Signed-off-by: Marek Olšák <marek.olsak@amd.com>

diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c
index 7594d0e..028d800 100644
--- a/src/gallium/drivers/r600/r600_state_common.c
+++ b/src/gallium/drivers/r600/r600_state_common.c
@@ -1227,7 +1227,9 @@ static bool r600_update_derived_state(struct r600_context *rctx)
 	if (unlikely(!rctx->ps_shader->current))
 		return false;
 
-	if (unlikely(ps_dirty || rctx->pixel_shader.shader != rctx->ps_shader->current)) {
+	if (unlikely(ps_dirty || rctx->pixel_shader.shader != rctx->ps_shader->current ||
+		rctx->rasterizer->sprite_coord_enable != rctx->ps_shader->current->sprite_coord_enable ||
+		rctx->rasterizer->flatshade != rctx->ps_shader->current->flatshade)) {
 
 		if (rctx->cb_misc_state.nr_ps_color_outputs != rctx->ps_shader->current->nr_ps_color_outputs) {
 			rctx->cb_misc_state.nr_ps_color_outputs = rctx->ps_shader->current->nr_ps_color_outputs;

commit bf7a60f41d897be4d9804ba7c46633e38501ffe7
Author: Tom Stellard <thomas.stellard@amd.com>
Date:   Tue Aug 19 16:27:38 2014 -0700

    r600g/compute: Don't initialize vertex_buffer_state masks to 0x2
    
    cs_vertex_buffer_state.enabled_mask and
    cs_vertex_buffer_state.dirty_mask are both updated when
    r600_set_constant_buffer() is called, so we don't need to manually
    update these values.
    
    This fixes a crash with OpenCL programs that have a kernel with no
    arguments.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=82671
    
    CC: "10.2" <mesa-stable@lists.freedesktop.org>

diff --git a/src/gallium/drivers/r600/evergreen_compute.c b/src/gallium/drivers/r600/evergreen_compute.c
index 9e3404f..38b78c7 100644
--- a/src/gallium/drivers/r600/evergreen_compute.c
+++ b/src/gallium/drivers/r600/evergreen_compute.c
@@ -892,9 +892,6 @@ void evergreen_init_compute_state_functions(struct r600_context *ctx)
 	ctx->b.b.set_global_binding = evergreen_set_global_binding;
 	ctx->b.b.launch_grid = evergreen_launch_grid;
 
-	/* We always use at least one vertex buffer for parameters (id = 1)*/
-	ctx->cs_vertex_buffer_state.enabled_mask =
-	ctx->cs_vertex_buffer_state.dirty_mask = 0x2;
 }
 
 struct pipe_resource *r600_compute_global_buffer_create(

commit a9f0b08bacc9422bf98ce14d97b6c60a1b80df04
Author: Tom Stellard <thomas.stellard@amd.com>
Date:   Tue Aug 19 16:07:24 2014 -0700

    r600g/compute: Use the first parameter in evergreen_set_global_binding()

diff --git a/src/gallium/drivers/r600/evergreen_compute.c b/src/gallium/drivers/r600/evergreen_compute.c
index acc1b71..9e3404f 100644
--- a/src/gallium/drivers/r600/evergreen_compute.c
+++ b/src/gallium/drivers/r600/evergreen_compute.c
@@ -648,6 +648,7 @@ static void evergreen_set_global_binding(
 	struct compute_memory_pool *pool = ctx->screen->global_pool;
 	struct r600_resource_global **buffers =
 		(struct r600_resource_global **)resources;
+	unsigned i;
 
 	COMPUTE_DBG(ctx->screen, "*** evergreen_set_global_binding first = %u n = %u\n",
 			first, n);
@@ -659,7 +660,7 @@ static void evergreen_set_global_binding(
 
 	/* We mark these items for promotion to the pool if they
 	 * aren't already there */
-	for (unsigned i = 0; i < n; i++) {
+	for (i = first; i < first + n; i++) {
 		struct compute_memory_item *item = buffers[i]->chunk;
 
 		if (!is_item_in_pool(item))
@@ -671,7 +672,7 @@ static void evergreen_set_global_binding(
 		return;
 	}
 
-	for (unsigned i = 0; i < n; i++)
+	for (i = first; i < first + n; i++)
 	{
 		uint32_t buffer_offset;
 		uint32_t handle;

commit 43d954342e02a2bd719e543d567fd6c43b3e5367
Author: Tom Stellard <thomas.stellard@amd.com>
Date:   Tue Aug 19 14:04:32 2014 -0700

    pipe-loader: Fix memory leak v2
    
    v2:
      - Change driver_name to char*
    
    Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
    CC: "10.2" <mesa-stable@lists.freedesktop.org>

diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader.h b/src/gallium/auxiliary/pipe-loader/pipe_loader.h
index 8ff00b1..6127a6a 100644
--- a/src/gallium/auxiliary/pipe-loader/pipe_loader.h
+++ b/src/gallium/auxiliary/pipe-loader/pipe_loader.h
@@ -67,7 +67,7 @@ struct pipe_loader_device {
       } pci;
    } u; /**< Discriminated by \a type */
 
-   const char *driver_name;
+   char *driver_name;
    const struct pipe_loader_ops *ops;
 };
 
diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
index 1bbaf19..88056f5 100644
--- a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
+++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
@@ -256,7 +256,7 @@ pipe_loader_drm_release(struct pipe_loader_device **dev)
       util_dl_close(ddev->lib);
 
    close(ddev->fd);
-   /* XXX: Free ddev->base.driver_name - strdup at loader_get_driver_for_fd */
+   FREE(ddev->base.driver_name);
    FREE(ddev);
    *dev = NULL;
 }

commit 8109664dedee588dc98c9a7c25bd40c0eb56c35f
Author: Tom Stellard <thomas.stellard@amd.com>
Date:   Tue Aug 19 13:18:19 2014 -0700

    radeon: Add work-around for missing Hainan support in clang < 3.6 v2
    
    v2:
      - Add missing break.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=82709
    
    CC: "10.2" <mesa-stable@lists.freedesktop.org>

diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c
index a6bba8f..dec8063 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.c
+++ b/src/gallium/drivers/radeon/r600_pipe_common.c
@@ -499,7 +499,20 @@ static int r600_get_compute_param(struct pipe_screen *screen,
 	//TODO: select these params by asic
 	switch (param) {
 	case PIPE_COMPUTE_CAP_IR_TARGET: {
-		const char *gpu = r600_get_llvm_processor_name(rscreen->family);
+		const char *gpu;
+		switch(rscreen->family) {
+		/* Clang < 3.6 is missing Hainan in its list of
+		 * GPUs, so we need to use the name of a similar GPU.
+		 */
+#if HAVE_LLVM < 0x0306
+		case CHIP_HAINAN:
+			gpu = "oland";
+			break;
+#endif
+		default:
+			gpu = r600_get_llvm_processor_name(rscreen->family);
+			break;
+		}
 		if (ret) {
 			sprintf(ret, "%s-r600--", gpu);
 		}

commit 3ba225c1ab3682fcba33c8b4103afed22e3b3621
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Aug 21 06:30:22 2014 -0400

    st/clover: Fix build against LLVM SVN >= r215967 v2
    
    v2: Tom Stellard
      - Properly destroy the Module
    
    Reviewed-by: Francisco Jerez <currojerez@riseup.net>

diff --git a/src/gallium/state_trackers/clover/llvm/invocation.cpp b/src/gallium/state_trackers/clover/llvm/invocation.cpp
index 5d2efc4..d351bc5 100644
--- a/src/gallium/state_trackers/clover/llvm/invocation.cpp
+++ b/src/gallium/state_trackers/clover/llvm/invocation.cpp
@@ -234,7 +234,11 @@ namespace {
       memcpy(address_spaces, c.getTarget().getAddressSpaceMap(),
                                                         sizeof(address_spaces));
 
+#if HAVE_LLVM >= 0x0306
+      return act.takeModule().release();
+#else
       return act.takeModule();
+#endif
    }
 
    void
@@ -415,13 +419,21 @@ clover::compile_program_llvm(const compat::string &source,
 
    internalize_functions(mod, kernels);
 
+   module m;
    // Build the clover::module
    switch (ir) {
       case PIPE_SHADER_IR_TGSI:
          //XXX: Handle TGSI
          assert(0);
-         return module();
+         m = module();
+         break;
       default:
-         return build_module_llvm(mod, kernels, address_spaces);
+         m = build_module_llvm(mod, kernels, address_spaces);
+         break;
    }
+#if HAVE_LLVM >= 0x0306
+   // LLVM 3.6 and newer, the user takes ownership of the module.
+   delete mod;
+#endif
+   return m;
 }

commit d682ebec0bb8716dfa7747c46d5bfad732ead06c
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Mon Aug 18 17:20:21 2014 -0700

    i965,meta: Stop unlocking the texture to try and prevent deadlocks.
    
    Unlocking the texture is not safe: another thread could come in and grab
    it.  Now that we use a recursive mutex, this should work.  This also fixes
    texture lock deadlocks in the new meta fast clear path.
    
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
    Tested-by: Chris Forbes <chrisf@ijw.co.nz>

diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
index 4851286..90befd4 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
@@ -2773,7 +2773,6 @@ copytexsubimage_using_blit_framebuffer(struct gl_context *ctx, GLuint dims,
                                        GLint x, GLint y,
                                        GLsizei width, GLsizei height)
 {
-   struct gl_texture_object *texObj = texImage->TexObject;
    GLuint fbo;
    bool success = false;
    GLbitfield mask;
@@ -2782,8 +2781,6 @@ copytexsubimage_using_blit_framebuffer(struct gl_context *ctx, GLuint dims,
    if (!ctx->Extensions.ARB_framebuffer_object)
       return false;
 
-   _mesa_unlock_texture(ctx, texObj);
-
    _mesa_meta_begin(ctx, MESA_META_ALL & ~MESA_META_DRAW_BUFFERS);
 
    _mesa_GenFramebuffers(1, &fbo);
@@ -2834,7 +2831,6 @@ copytexsubimage_using_blit_framebuffer(struct gl_context *ctx, GLuint dims,
    success = mask == 0x0;
 
  out:
-   _mesa_lock_texture(ctx, texObj);
    _mesa_DeleteFramebuffers(1, &fbo);
    _mesa_meta_end(ctx);
    return success;
@@ -2852,7 +2848,6 @@ _mesa_meta_CopyTexSubImage(struct gl_context *ctx, GLuint dims,
                            GLint x, GLint y,
                            GLsizei width, GLsizei height)
 {
-   struct gl_texture_object *texObj = texImage->TexObject;
    GLenum format, type;
    GLint bpp;
    void *buf;
@@ -2897,8 +2892,6 @@ _mesa_meta_CopyTexSubImage(struct gl_context *ctx, GLuint dims,
       return;
    }
 
-   _mesa_unlock_texture(ctx, texObj); /* need to unlock first */
-
    /*
     * Read image from framebuffer (disable pixel transfer ops)
     */
@@ -2927,8 +2920,6 @@ _mesa_meta_CopyTexSubImage(struct gl_context *ctx, GLuint dims,
 
    _mesa_meta_end(ctx);
 
-   _mesa_lock_texture(ctx, texObj); /* re-lock */
-
    free(buf);
 }
 
@@ -3206,12 +3197,9 @@ _mesa_meta_GetTexImage(struct gl_context *ctx,
                        struct gl_texture_image *texImage)
 {
    if (_mesa_is_format_compressed(texImage->TexFormat)) {
-      struct gl_texture_object *texObj = texImage->TexObject;
       GLuint slice;
       bool result;
 
-      /* Need to unlock the texture here to prevent deadlock... */
-      _mesa_unlock_texture(ctx, texObj);
       for (slice = 0; slice < texImage->Depth; slice++) {
          void *dst;
          if (texImage->TexObject->Target == GL_TEXTURE_2D_ARRAY
@@ -3236,8 +3224,6 @@ _mesa_meta_GetTexImage(struct gl_context *ctx,
          if (!result)
             break;
       }
-      /* ... and relock it */
-      _mesa_lock_texture(ctx, texObj);
 
       if (result)
          return;
@@ -3539,15 +3525,11 @@ _mesa_meta_ClearTexSubImage(struct gl_context *ctx,
 {
    bool res;
 
-   _mesa_unlock_texture(ctx, texImage->TexObject);
-
    res = cleartexsubimage_using_fbo(ctx, texImage,
                                     xoffset, yoffset, zoffset,
                                     width, height, depth,
                                     clearValue);
 
-   _mesa_lock_texture(ctx, texImage->TexObject);
-
    if (res)
       return;
 
diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
index 1cf2d18..92c92aa 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
+++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
@@ -266,8 +266,6 @@ brw_blorp_copytexsubimage(struct brw_context *brw,
    int dst_slice = slice + dst_image->TexObject->MinLayer + dst_image->Face;
    int dst_level = dst_image->Level + dst_image->TexObject->MinLevel;
 
-   _mesa_unlock_texture(ctx, dst_image->TexObject);
-
    brw_blorp_blit_miptrees(brw,
                            src_mt, src_irb->mt_level, src_irb->mt_layer,
                            dst_mt, dst_level, dst_slice,
@@ -275,8 +273,6 @@ brw_blorp_copytexsubimage(struct brw_context *brw,
                            dstX0, dstY0, dstX1, dstY1,
                            GL_NEAREST, false, mirror_y);
 
-   _mesa_lock_texture(ctx, dst_image->TexObject);
-
    /* If we're copying to a packed depth stencil texture and the source
     * framebuffer has separate stencil, we need to also copy the stencil data
     * over.

commit 08710281884c02d2d99a5ad447affa246de126f8
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Mon Aug 18 17:20:20 2014 -0700

    mesa: Use a recursive mutex for the texture lock.
    
    This avoids problems with things like meta operations calling functions
    that want to take the lock while the lock is already held.  Basically,
    the point is to guard against API reentrancy across threads...not to
    guard against ourselves.
    
    Dave Airlie opposed this change, but it makes master usable again and no
    one proposed a better solution.  We can revert this if/when someone
    does.
    
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
    Tested-by: Chris Forbes <chrisf@ijw.co.nz>

diff --git a/src/mesa/main/shared.c b/src/mesa/main/shared.c
index 0189dd2..7ef932f 100644
--- a/src/mesa/main/shared.c
+++ b/src/mesa/main/shared.c
@@ -113,7 +113,7 @@ _mesa_alloc_shared_state(struct gl_context *ctx)
    assert(shared->DefaultTex[TEXTURE_1D_INDEX]->RefCount == 1);
 
    /* Mutex and timestamp for texobj state validation */
-   mtx_init(&shared->TexMutex, mtx_plain);
+   mtx_init(&shared->TexMutex, mtx_recursive);
    shared->TextureStateStamp = 0;
 
    shared->FrameBuffers = _mesa_NewHashTable();

commit f90b7e0f2bee56af22edeebfea292ab960ce0628
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Aug 18 16:26:34 2014 -0700

    glcpp: Fix glcpp-test-cr-lf "make check" test for Mac OS X
    
    There were two problems with the way this script used sed on OS X:
    
      1. The OS X sed doesn't interpret "\r" in a replacement list as a
         carriage-return character, (instead it was inserting a literal
         'r' character).
    
         We fix this by putting an actual ^M character into the source of
         the script, (rather than a two-character escape sequence hoping
         for sed to do the right thing).
    
      2. When generating the test files with LF-CR ("\n\r") newlines, the
         OS X sed was adding an undesired final newline ("\n") at the end
         of the file. We avoid this by first using sed to add the ^M
         before the newlines, then using tr to swap the \r and \n
         characters. This way, sed never sees any lines ending with
         anything but \n, so it doesn't get confused and doesn't add any
         bogus extra newlines.
    
    Tested-by: Vinson Lee <vlee@freedesktop.org>
    
    Vinson's testing confirmed that this patch fixes FreeBSD as well.

diff --git a/src/glsl/glcpp/tests/glcpp-test-cr-lf b/src/glsl/glcpp/tests/glcpp-test-cr-lf
index edaa29d..7988c05 100755
--- a/src/glsl/glcpp/tests/glcpp-test-cr-lf
+++ b/src/glsl/glcpp/tests/glcpp-test-cr-lf
@@ -111,7 +111,7 @@ rm -rf ./subtest-cr-lf
 mkdir subtest-cr-lf
 for file in "$testdir"/*.c; do
     base=$(basename "$file")
-    sed -e 's/$/\r/' < "$file" > subtest-cr-lf/"$base"
+    sed -e 's/$/
/' < "$file" > subtest-cr-lf/"$base"
     cp subtest-lf/"$base".out subtest-cr-lf/"$base".expected
 done
 
@@ -124,7 +124,7 @@ rm -rf ./subtest-lf-cr
 mkdir subtest-lf-cr
 for file in "$testdir"/*.c; do
     base=$(basename "$file")
-    tr "\n" "\r" < "$file" | sed -e 's/\r/\n\r/g' > subtest-lf-cr/"$base"
+    sed -e 's/$/
/' < "$file" | tr "\n\r" "\r\n" > subtest-lf-cr/"$base"
     cp subtest-lf/"$base".out subtest-lf-cr/"$base".expected
 done
 

commit c09a8b0e3bb93906f59fee565eb22d37b91fbfaf
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Aug 18 16:26:09 2014 -0700

    glcpp: Use printf instead of "echo -n" in glcpp-test
    
    I noticed that with /bin/sh on Mac OS X, "echo -n" does not work as
    desired, (it actually prints "-n" rather than suppressing the final
    newline). There is a /bin/echo that could be used (it actually works)
    instead of the builtin echo.
    
    But I decided it's more robust to just use printf rather than
    hardcoding /bin/echo into the script.

diff --git a/src/glsl/glcpp/tests/glcpp-test b/src/glsl/glcpp/tests/glcpp-test
index 640f576..ea69edf 100755
--- a/src/glsl/glcpp/tests/glcpp-test
+++ b/src/glsl/glcpp/tests/glcpp-test
@@ -59,7 +59,7 @@ clean=0
 
 echo "====== Testing for correctness ======"
 for test in $testdir/*.c; do
-    echo -n "Testing $test..."
+    printf "Testing $test..."
     $glcpp $(test_specific_args $test) < $test > $test.out 2>&1
     total=$((total+1))
     if cmp $test.expected $test.out >/dev/null 2>&1; then
@@ -78,7 +78,7 @@ echo ""
 if [ "$do_valgrind" = "yes" ]; then
     echo "====== Testing for valgrind cleanliness ======"
     for test in $testdir/*.c; do
-	echo -n "Testing $test with valgrind..."
+	printf "Testing $test with valgrind..."
 	valgrind --error-exitcode=31 --log-file=$test.valgrind-errors $glcpp $(test_specific_args $test) < $test >/dev/null 2>&1
 	if [ "$?" = "31" ]; then
 	    echo "ERRORS"

commit 04895f5c601b240df547739da786b7c2b65bdd1e
Author: Matt Turner <mattst88@gmail.com>
Date:   Fri Aug 15 12:32:23 2014 -0700

    i965/vec4: Allow reswizzling writemasks when swizzle is single-valued.
    
    total instructions in shared programs: 4288033 -> 4266151 (-0.51%)
    instructions in affected programs:     930915 -> 909033 (-2.35%)

diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp b/src/mesa/drivers/dri/i965/brw_vec4.cpp
index 5477fe6..ee61202 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp
@@ -944,24 +944,27 @@ vec4_instruction::can_reswizzle_dst(int dst_writemask,
       return false;
 
    switch (opcode) {
-   case BRW_OPCODE_DP4:
-   case BRW_OPCODE_DP3:
-   case BRW_OPCODE_DP2:
-      return true;
    default:
-      /* Check if there happens to be no reswizzling required. */
-      for (int c = 0; c < 4; c++) {
-         int bit = 1 << BRW_GET_SWZ(swizzle, c);
-         /* Skip components of the swizzle not used by the dst. */
-         if (!(dst_writemask & (1 << c)))
-            continue;
+      if (!brw_is_single_value_swizzle(swizzle)) {
+         /* Check if there happens to be no reswizzling required. */
+         for (int c = 0; c < 4; c++) {
+            int bit = 1 << BRW_GET_SWZ(swizzle, c);
+            /* Skip components of the swizzle not used by the dst. */
+            if (!(dst_writemask & (1 << c)))
+               continue;
 
-         /* We don't do the reswizzling yet, so just sanity check that we
-          * don't have to.
-          */
-         if (bit != (1 << c))
-            return false;
+            /* We don't do the reswizzling yet, so just sanity check that we
+             * don't have to.
+             */
+            if (bit != (1 << c))
+               return false;
+         }
+         return true;
       }
+      /* fallthrough */
+   case BRW_OPCODE_DP4:
+   case BRW_OPCODE_DP3:
+   case BRW_OPCODE_DP2:
       return true;
    }
 }
@@ -979,6 +982,21 @@ vec4_instruction::reswizzle_dst(int dst_writemask, int swizzle)
    int new_writemask = 0;
 
    switch (opcode) {
+   default:
+      if (!brw_is_single_value_swizzle(swizzle)) {
+         for (int c = 0; c < 4; c++) {
+            /* Skip components of the swizzle not used by the dst. */
+            if (!(dst_writemask & (1 << c)))
+               continue;
+
+            /* We don't do the reswizzling yet, so just sanity check that we
+             * don't have to.
+             */
+            assert((1 << BRW_GET_SWZ(swizzle, c)) == (1 << c));
+         }
+         break;
+      }
+      /* fallthrough */
    case BRW_OPCODE_DP4:
    case BRW_OPCODE_DP3:
    case BRW_OPCODE_DP2:
@@ -995,18 +1013,6 @@ vec4_instruction::reswizzle_dst(int dst_writemask, int swizzle)
       }
       dst.writemask = new_writemask;
       break;
-   default:
-      for (int c = 0; c < 4; c++) {
-         /* Skip components of the swizzle not used by the dst. */
-         if (!(dst_writemask & (1 << c)))
-            continue;
-
-         /* We don't do the reswizzling yet, so just sanity check that we
-          * don't have to.
-          */
-         assert((1 << BRW_GET_SWZ(swizzle, c)) == (1 << c));
-      }
-      break;
    }
 }
 

commit bde2a62af72847f6722180d0203f5b537d1df8ab
Author: Jon TURNEY <jon.turney@dronecode.org.uk>
Date:   Sun Aug 17 17:21:27 2014 +0100

    Teach os_get_total_physical_memory about Cygwin
    
    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
    Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>

diff --git a/src/gallium/auxiliary/os/os_misc.c b/src/gallium/auxiliary/os/os_misc.c
index 3846a9a..ef84c79 100644
--- a/src/gallium/auxiliary/os/os_misc.c
+++ b/src/gallium/auxiliary/os/os_misc.c
@@ -47,7 +47,7 @@
 #endif
 
 
-#if defined(PIPE_OS_LINUX)
+#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_CYGWIN)
 #  include <unistd.h>
 #elif defined(PIPE_OS_APPLE) || defined(PIPE_OS_BSD)
 #  include <sys/sysctl.h>


Reply to: