Tag '11.0-branchpoint' created by Emil Velikov <emil.l.veli...@gmail.com> at 2015-08-22 12:00 +0000
Mesa 11.0 branchpoint -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAABCAAGBQJV2GRJAAoJEO2uN7As60kNQGsP/A7XHUSPLtciiYsymfH8oc84 zA4L3y2hEI0fonFB54ww8NUqtXt4V1fYAI3yV1Js+fCd5YchmMsWh1kbmrfso9dC iMOr1OZPLBXRmtSDviu8SDultWf1EltH6uSaCUiEZNas9gloWDy9mUZUoo1M4Rxb RMgSrODhCKwrzeL67/6KqBQ5yAQPAuRdW0nJWt7mLAk2zMQVSw2EE6sY4jZlyi+h 4pRr7CU9EkEbML9mhcOU+n8xZ61dMz6KU8n9XUb6uqcLFOdm8R52fcHG7ykcQrco I1O4KHVuxvSvahz8hwd/sUTpcLda6WOXVMLFxsHRevJSw4nQqMr2grSjWMamAiPj i5KYivI1VHTcpMg7huD1ueO7Q3FsITlEwH/IkqmAoCdDA+M7UmJHY6MiFlaN2u3q W4abCmFWK2LeGG/arSxhs1eJMyBtDWKLbYUi6GB1n17F0NHkPcRIF3Idm+Y8XncB 3u4lJJ30BmsXdjwvygXhLLq4aFGR7hE/Zu2sYRID9QeawWaDpcpa1eSJ0VgTJkfT M4sE0BrYM7UfwuRie43/RnsL7CqaX+q4YCVJGY9JBUxyI8//cPL/c07rn2HqzR2T a1aa70WSSaA+sk9bUfUT1Nm1xZy5wYjd4uTuOUVq71BQvEPeMt0W51Lk9Dp8Pz2W AmU6/tcB7FK7bXiBRIJB =bNbO -----END PGP SIGNATURE----- Changes since 10.6-branchpoint: Abdiel Janulgue (6): i965: Define HW-binding table and resource streamer control opcodes i965: Enable resource streamer for the batchbuffer i965: Enable hardware-generated binding tables on render path. i965: Implement interface to edit binding table entries i965: Upload binding tables in hw-generated binding table format. i965: Disable resource streamer in BLORP Adam Jackson (4): r600/sb: Fix an &/&& mistake glx: Fix image size computation for EXT_texture_integer (v2) glx: Fix missing bit decl for EXT_texture_integer glx: Fix __glXWireToEvent for BufferSwapComplete Alan Coopersmith (2): swrast: Build fix for Solaris glsl_compiler: Remove unused extra argument to printf in usage_fail Alejandro Piñeiro (10): i965/nir/fs: removed unneeded support for global variables i965/vec4: Redefine make_reg_for_system_value() to allow reuse in NIR->vec4 pass i965/nir/vec4: Add setup for system values i965/nir/vec4: Implement intrinsics that load system values i965/nir/vec4: Implement atomic counter intrinsics (read, inc and dec) i965/nir: Disable alu_to_scalar pass on non-scalar shaders i965/vec4: Change vec4_visitor::swizzle_result() method to allow reuse i965/vec4: Add a new dst_reg constructor accepting a brw_reg_type i965/ir/vec4: Refactor visit(ir_texture *ir) i965/nir/vec4: Add implementation of nir_emit_texture() Alejandro Seguí (1): glsl: replace old hash table with new and faster one Alex Deucher (6): radeonsi: add new OLAND pci id radeonsi: properly set the raster_config for KV radeonsi: properly handler raster_config setup on CZ radeonsi: add harvest support for CI/VI parts (v3) winsys/amdgpu: add addrlib support for Fiji (v2) radeonsi: add support for FIJI (v4) Alexander Monakov (1): i965: do_blit_drawpixels: decode array formats Alexander von Gluck IV (2): egl/haiku: fix Mesa build under Haiku egl/dri2: Fix include path of u_atomic.h introduced e7e29189 Alexandre Courbot (4): nouveau: support for custom VRAM domains nvc0: use NV_VRAM_DOMAIN() macro nvc0: create screen fence objects with coherent attribute nvc0: tune PREFER_BLIT_BASED_TEXTURE_TRANSFER capability Anatoli Antonovitch (2): egl: implement EGL_KHR_gl_texture_3D_image st/dri: enable 3D textures and sRGB colorspace for EGL Antia Puentes (35): i965/nir/vec4: Implement loading values from an UBO i965/nir/vec4: Prepare source and destination registers for ALU operations i965/nir/vec4: Implement single-element "mov" operations i965/nir/vec4: Lower "vecN" instructions and mark them unreachable i965/nir/vec4: Implement int<->float format conversion ops i965/nir/vec4: Implement the addition operation i965/nir/vec4: Implement multiplication i965/vec4: Return the last emitted instruction in emit_math() i965/nir/vec4: Implement more math operations i965/nir/vec4: Implement carry/borrow for addition/subtraction i965/nir/vec4: Implement various rounding functions i965/vec4: Return the emitted instruction in emit_minmax() i965/nir/vec4: Implement min/max operations i965/nir/vec4: Derivatives are not allowed in VS i965/nir: Add utility method for comparisons i965/nir/vec4: Implement non-vector comparison ops i965/nir/vec4: Implement equality ops on vectors i965/nir/vec4: Implement non-equality ops on vectors i965/nir/vec4: Implement logical operators i965/nir/vec4: Implement "bool<->int,float" format conversion i965/nir/vec4: "noise" ops should already be lowered i965/nir/vec4: Implement pack/unpack operations i965/nir/vec4: Implement bit operations i965/nir/vec4: Implement the "sign" operation i965/nir/vec4: Implement "shift" operations i965/nir/vec4: Implement floating-point fused multiply-add i965/vec4: Return the emitted instruction in emit_lrp() i965/nir/vec4: Implement linear interpolation i965/nir/vec4: Implement conditional select i965/nir/vec4: Implement the dot product operation i965/nir/vec4: Implement vector "any" operation i965/nir/vec4: Mark as unreachable ops that should be already lowered i965/vec4: Enable NIR-vec4 pass on ARB_vertex_programs i965/nir/vec4: Handle uniforms on vertex programs i965/vec4: Handle uniform and GRF array access on vertex programs (NIR) Anuj Phogat (48): i965: Choose tiling in brw_miptree_layout() function i965: Move intel_miptree_choose_tiling() to brw_tex_layout.c i965: Pass miptree pointer as function parameter in intel_vertical_texture_alignment_unit i965/gen9: Set tiled resource mode for the miptree i965/gen9: Set horizontal alignment for the miptree i965/gen9: Set vertical alignment for the miptree i965: Make a helper function intel_miptree_set_total_width_height() i965: Remove break after return i965: Check for miptree pitch alignment before using intel_miptree_map_movntdqa() meta: Use is_power_of_two() helper function mesa: Handle integer formats in need_rgb_to_luminance_conversion() mesa: Use helper function need_rgb_to_luminance_conversion() mesa: Turn need_rgb_to_luminance_conversion() in to a global function meta: Abort meta path if ReadPixels need rgb to luminance conversion meta: Abort texture upload if pixels == null and no pixel unpack buffer set i965/gen9: Set tiled resource mode in surface state i965: Rename use_linear_1d_layout() and make it global i965: Use BRW_SURFACE_* in place of GL_TEXTURE_* i965/gen9: Set vertical and horizontal surface alignments i965/gen9: Disable Mip Tail for YF/YS tiled surfaces i965: Make a helper function intel_miptree_set_alignment() i965/gen9: Plugin the code for selecting YF/YS tiling on skl+ i965: Make a helper function intel_miptree_release_levels() i965: Make a helper function intel_miptree_can_use_tr_mode() i965/gen9: Allocate YF/YS tiled buffer objects mesa: Add a new helper function _mesa_regions_overlap() mesa/st: Use global function _mesa_regions_overlap() mesa/swrast: Use global function _mesa_regions_overlap() i965/gen9: Add XY_FAST_COPY_BLT support to intelEmitCopyBlit() i965/skl: Extract the blit command setup in to a helper i965: Fix 32 bit build warnings in intel_get_yf_ys_bo_size() Revert "i965/gen9: Plugin the code for selecting YF/YS tiling on skl+" mesa: Turn get_readpixels_transfer_ops() in to a global function meta: Fix transfer operations check in meta pbo path for readpixels meta: Abort meta pbo path if readpixels need signed-unsigned conversion meta: Don't do fragment color clamping in _mesa_meta_pbo_GetTexSubImage mesa: Set green, blue channels to zero only for formats with these components mesa: Add a helper function _mesa_unpack_format_to_base_format() meta: Use _mesa_unpack_format_to_base_format() to handle integer formats mesa: Add a helper function _mesa_need_luminance_to_rgb_conversion() meta: Use _mesa_need_luminance_to_rgb_conversion() in decompress_texture_image() meta: Fix reading luminance texture as rgba in _mesa_meta_pbo_GetTexSubImage() mesa: Change the signature of _mesa_need_rgb_to_luminance_conversion() meta: Use _mesa_need_rgb_to_luminance_conversion() in decompress_texture_image() mesa: Fix typo in a comment Delete duplicate function is_power_of_two() and use _mesa_is_pow_two() i965: Change the type of max_{vs, hs, ...}_threads variables to unsigned Delete unused functions in format parser Axel Davy (55): st/nine: Fix Swizzle for ATI2 format st/nine: Always set point_quad_rasterization to 1 st/nine: fix D3DRS_DITHERENABLE wrong state group st/nine: Hide hardware cursor when we don't use it st/nine: Force hw cursor for Windowed mode st/nine: Do not call ID3DPresent_GetCursorPos for sw cursor st/nine: Revert to sw cursor in case of failure to set hw cursor st/nine: Simplify Volume9 dirty region tracking st/nine: Split NineSurface9_CopySurface st/nine: Simplify NineVolume9_CopyVolume st/nine: SetAutoGenFilterType should regenerate the sublevels st/nine: Add missing BASETEX_REGISTER_UPDATE calls st/nine: Track dirty region for SYSTEMMEM too st/nine: Textures start dirty st/nine: Only update dirty rect for UpdateTexture st/nine: Track managed textures st/nine: Implement EvictManagedResources st/nine: Fix StretchRect checks st/nine: Fix FillColor Flag check st/nine: Impose restrictions on DXTN texture sizes st/nine: Fix Lock Checks for Compressed textures st/nine: Remove group_mask argument from nine_update_state st/nine: Reorder nine_state. st/nine: Reorder DSA state settings st/nine: Rework rasterizer states st/nine: Avoid useless updates in SetSamplerState st/nine: Improve fallback when driver doesn't support user buffers. st/nine: Rework blend states st/nine: Rework constant buffer state handling st/nine: Rework ff constant buffers st/nine: Fix fixed function fog support st/nine: Begin programmable shader fog support st/nine: Fix nine_ff_ps_key padding st/nine: Remove some useless variables st/nine: Rework shader states st/nine: Finish Fog implementation st/nine: Revert to userbuf path when needed st/nine: Advertise Fog flags st/nine: Change a few advertised caps st/nine: Complete ff texture transform implementation st/nine: Programmable ps D3DTTSS_PROJECTED support st/nine: Change nine_state_update order st/nine: Implement ff vertex data passthrough st/nine: Implement special DOTPRODUCT3 behaviour st/nine: Remove NINED3DRS_ZBIASSCALE st/nine: Better check shader constant limits st/nine: Calculate dummy sampler state only once st/nine: Use CSO cache for sampler views st/nine: Fix the number of texture stages st/nine: Avoid Constant upload when there is no change st/nine: Catch setting the same shader st/nine: Silent warning in update_vertex_buffer st/nine: Silent warning in NineCubeTexture9_ctor st/nine: Silent warning in sm1_declusage_to_tgsi st/nine: Silent warning in nine_ff Ben Widawsky (27): i965: Emit 3DSTATE_MULTISAMPLE before WM_HZ_OP (gen8+) i965: Disable compaction for EOT send messages i965: Add buffer sizes to perf debug of fast clears i965: Add gen8 fast clear perf debug i965: Disallow saturation for MACH operations. i965/gen9: Use raw PS invocation count for queries i965: Consolidate certain miptree params to flags i965/gen9: Only allow Y-Tiled MCS buffers i965: Extract tiling from fast clear decision i965/gen8: Correct HALIGN for AUX surfaces i965/gen9: Set HALIGN_16 for all aux buffers i965/gen8+: Add aux buffer alignment assertions i965/gen8: Use HALIGN_16 for single sample mcs buffers i965/gen9: Implement Push Constant Buffer workaround i965/gen9: Don't use encrypted MOCS i965/bxt: Add basic Broxton infrastructure i965/skl: Use more compact hiz dimensions i965/hsw: Implement end of batch workaround i965: Push miptree tiling request into flags Revert "i965: Push miptree tiling request into flags" i965: Push miptree tiling request into flags i965/bxt: Support 3src simd16 instructions i965/skl: Add production thread counts and URB size i965/bxt: Use more conservative thread counts i965/gen9: Add hs, ds, and cs thread + urb info i965/skl: (trivial) Remove invalid comment about thread counts i965/skl: Remove early platform support Boyan Ding (5): egl/x11: Set version of swrastLoader to 2 egl/x11: Remove duplicate call to dri2_x11_add_configs_for_visuals egl_dri2: Remove trailing whitespaces egl/x11: Fix driver_name acquisition egl/wayland: define set_cloexec_or_close only when mkostemp is not present Boyuan Zhang (1): radeon/uvd: implement HEVC support Brian Paul (80): glx: fix Scons build mesa: add const qualifer on _mesa_is_compressed_format() mesa: const qualify, return bool for _mesa_texture_view_compatible_format() mesa: code clean-ups in textureview.[ch] mesa: move decls, add const qualifiers in copyimage.c mesa: add some comments in copyimage.c xlib: fix X_GLXCreateContextAtrribs/Attribs typo docs: reorganize devnotes.html file docs: update documentation about patch formatting, testing, etc docs: update the coding style information docs: add information about reviewing patches mesa: do not use _glapi_new_nop_table() for DRI builds dri_util: make version var unsigned to silence warnings draw: silence unused var warnings for non-debug build st/mesa: silence unused var warnings for non-debug build pipebuffer: silence unused var warnings for non-debug build gallivm: silence unused var warnings for non-debug build egl/dri2: silence uninitialized variable warnings gallium/util: silence silence unused var warnings for non-debug build docs: update GL_ARB_copy_image, GL_ARB_clear_texture gallium status mesa: fix glPushAttrib(0) / glPopAttrib() error mesa: restore GL_EXT_depth_bounds_test state in glPopAttrib() mesa: move no-change glDepthFunc check earlier mesa: remove some MAX_NV_FRAGMENT_PROGRAM_* macros glsl: fix comment typo: s/accpet/accept/ llvmpipe: simplify lp_resource_copy() gallium: remove explicit values from PIPE_CAP_ enums tgsi: new comments, assertion for executing TGSI_OPCODE_CAL tgsi: add comments for ureg_emit_label() st/wgl: fix WGL_SAMPLE_BUFFERS_ARB query st/wgl: respect sample count when creating framebuffer surfaces st/wgl: add support for multisample pixel formats st/wgl: set PIPE_BIND_SAMPLER_VIEW for window color buffers stw: add some no-op functions for GL_EXT_dsa, GL_NV_half_float stw: use new stw_get_nop_function() function to avoid Viewperf 12 crashes st/wgl: fix WGL_SWAP_METHOD_ARB query gallium: whitespace, formatting clean-up in p_state.h u_vbuf: fix src_offset alignment in u_vbuf_create_vertex_elements() glsl: fix formatting glitch in _mesa_print_ir() mesa: use _mesa_lookup_enum_by_nr() in print_array() st/mesa: remove unneeded pipe_surface_release() in st_render_texture() svga: silence warnings about unexpected shader type gallium/os: minor whitespace fixes in os_time.h gallium/hud: replace byte units flag with pipe_driver_query_type gallium/hud: add PIPE_DRIVER_QUERY_TYPE_MICROSECONDS for HUD gallium/hud: display percentages with % suffix gallium/docs: s/treaded/treated/ typo in tgsi.rst gallium: fix comment typo in p_shader_tokens.h tgsi: whitespace fixes in tgsi_parse.c osmesa: fix OSMesaPixelsStore typo mesa: allow GL_TEXTURE_CUBE_MAP_ARRAY case for glCompressedTexSubImage3D() mesa: assorted whitespace, formatting fixes in teximage.c meta: handle subimages in _mesa_meta_setup_texture_coords() meta: add offset, width, height parameters to decompress_texture_image() mesa: replace Driver.GetTexImage with GetTexSubImage() mesa: plumb offset/size parameters through GetTexSubImage code mesa: make _mesa_get_[compressed_]texture_image() static mesa: replace Driver.GetCompressedTexImage() w/ GetCompressedTexSubImage() mesa: 80-column wrapping in texgetimage.c mesa: overhaul the glGetTexImage code mesa: overhaul the glGetCompressedTexImage code mesa: add new _mesa_Get[Compressed]TextureSubImage() functions mesa: add API dispatch for GL_ARB_get_texture_sub_image mesa: enable GL_ARB_get_texture_sub_image for all drivers docs: document that GL_ARB_get_texture_sub_image is completed mesa: s/GLint/GLsizei/ for consistency mesa: move check for no-op glFrontFace call earlier mesa: move check for no-op glAlphaFunc call earlier mesa: move check for no-op glShadeModel call earlier swrast: remove unneeded & operators in _swrast_choose_texture_sample_func() mesa: fix typo s/glGetTextImage/glGetTexImage/ mesa: initialize variables to silence compiler warnings mesa: simplify format check in compressed_subtexture_target_check() mesa: another target fix in compressed_subtexture_target_check() mesa: do more thorough target checking in compressed_subtexture_target_check() st/mesa: add comments on a few sampler view functions st/mesa: remove unused 'samp' function parameters mesa: fix _mesa_error() compiler warnings in shaderapi.c mesa: minor clean-ups in shaderapi.c mesa: handle no-op cases sooner in _mesa_[Client]ActiveTexture() Chad Versace (4): i965/fs: Fix unused variable warning mesa: Fix generation of git_sha1.h.tmp for gitlinks egl: Add support for DRM_FORMAT_R8, RG88, and GR88 i965: Support importing R8 and GR88 dma_bufs Chia-I Wu (71): ilo: assert core objects are zero-initialized ilo: avoid resource owning in core ilo: fix "Render Cache Read Write Mode" ilo: add pipe_texture_target to ilo_image ilo: add array_size and level_count to ilo_image ilo: add ilo_image_disable_aux() ilo: update genhw headers ilo: add ilo_state_zs ilo: add ilo_state_surface ilo: add ilo_state_sampler ilo: add ilo_state_viewport ilo: add ilo_state_raster ilo: add ilo_state_cc ilo: add ilo_state_sol ilo: add ilo_state_urb ilo: add ilo_state_vf ilo: add ilo_state_sbe ilo: add ilo_state_{vs,hs,ds,gs} ilo: add ilo_state_ps ilo: replace ilo_zs_surface with ilo_state_zs ilo: replace ilo_view_surface with ilo_state_surface ilo: replace ilo_sampler_cso with ilo_state_sampler ilo: embed ilo_state_viewport in ilo_viewport_state ilo: embed ilo_state_raster in ilo_rasterizer_state ilo: embed ilo_state_cc in ilo_blend_state ilo: embed ilo_state_sol in ilo_shader ilo: embed ilo_state_urb in ilo_state_vector ilo: embed ilo_state_vf in ilo_ve_state ilo: embed ilo_state_sbe in ilo_shader ilo: add ilo_state_{vs,hs,ds,gs} to ilo_shader_cso ilo: add ilo_state_ps to ilo_shader_cso ilo: merge ilo_state_3d*.[ch] to ilo_state.[ch] ilo: add 3DSTATE_AA_LINE_PARAMETERS to ilo_state_raster ilo: add ilo_state_sample_pattern ilo: add ilo_state_raster_{line,poly}_stipple ilo: fix a -Wmaybe-uninitialized warning ilo: fix a buffer overrun ilo: embed pipe_index_buffer in ilo_ib_state ilo: add 3DSTATE_VF to ilo_state_vf ilo: add 3DSTATE_VF_INSTANCING to ilo_state_vf ilo: add ilo_state_vertex_buffer ilo: add ilo_state_index_buffer ilo: add ilo_state_sol_buffer ilo: move gen6_so_SURFACE_STATE() out of core ilo: avoid ilo_ib_state in genX_3DPRIMITIVE() ilo: clean up header includes ilo: add ilo_state_compute ilo: add ilo_state_vf_valid_element_format() ilo: add ilo_state_surface_valid_format() ilo: move ilo_format.[ch] out of core ilo: align vertex buffer size in buf_create() ilo: emit 3DPRIMITIVE from gen6_3dprimitive_info ilo: introduce ilo_vma ilo: remove ilo_buffer ilo: improve SURFTYPE_BUFFER validations ilo: remove ilo_image_disable_aux() ilo: initialize ilo_image from ilo_image_info ilo: replace pipe_texture_target by gen_surface_type ilo: always use the specified image format ilo: replace pipe_format by gen_surface_format ilo: define ILO_IMAGE_MAX_LEVEL_COUNT ilo: add image_get_gen6_layout() ilo: add image_get_gen6_tiling() ilo: add image_get_gen6_{hiz,mcs}_enable() ilo: add image_get_gen{6,7}_alignment() ilo: add image_get_gen6_lods() ilo: add image_get_gen6_monolithic_size() ilo: add image_set_gen6_{hiz,mcs} ilo: add image_set_gen6_bo_size() ilo: add image_init_gen6_transfer_layout() ilo: remove ilo_image_params Chih-Wei Huang (10): android: loader: export the path to be included android: export more dirs from libmesa_dri_common android: add rules to build gallium/state_trackers/dri android: add rules to build a gallium_dri.so android: Depend on gallium_dri from EGL, instead of linking in gallium. android: try to load gallium_dri.so directly android: generate files by $(call es-gen) android: enable the radeonsi driver android: build with libcxx on android lollipop nv50/ir: support different unordered_set implementations Chris Forbes (25): i965: Set max texture buffer size to hardware limit glsl: Add ir node for barrier glsl: Add builtin barrier() function glsl: add ir reader support for ir_barrier mesa: generalize sso stage interleaving check mesa: add tessellation shader state and limits mesa: allow drawing of patch primitives mesa: allow tess stages in glUseProgramStages mesa: require VS if TCS or TES is present in pipeline glsl: allow linking of tessellation shaders. glsl: relax unsized input/output block arrays for TCS/TES glsl: allow nonconst indexing of arrays where we can work out an implicit size glsl: add builtin constants for ARB_tessellation_shader glsl: restrict indexing for writes to TCS outputs to gl_InvocationID glsl: properly size unsized arrays in tess stages glsl: push vertex count determination down one level glsl: analyze TES usage of gl_ClipDistance glsl: validate restrictions on use of barrier() glsl: allow redeclaration of TCS gl_out[] mesa: Add stubs for ARB_shader_subroutine entrypoints glapi: Add ARB_shader_subroutine functions and enums (v2) mesa: Add extension tracking for arb_shader_subroutine (v2) mesa: Add glGet support for ARB_shader_subroutine implementation limits glsl: Add extension plumbing and define for ARB_shader_subroutine glsl: Make `subroutine` a reserved keyword Chris Wilson (11): i965: Fix HW blitter pitch limits i915: Blit RGBX<->RGBA drawpixels i965: Export format comparison for blitting between miptrees i965: Transplant PIPE_CONTROL routines to brw_pipe_control i965: Rename intel_emit* to reflect their new location in brw_pipe_control i965: Query whether we have kernel support for the TIMESTAMP register once loader: Look for any version of currently linked libudev.so i965: Move pipecontrol workaround bo to brw_pipe_control i965: Use updated kernel interface for accurate TIMESTAMP reads i965: Fix HW binding tables editing i965: Move control flush into pipelined conditional render Christian König (9): radeon/vce: move CPB handling function into common code radeon/vce: adapt new firmware interface changes vl: cleanup video buffer private when the decoder is destroyed st/vdpau: fix mixer size checks vl: add HEVC profiles and defines st/vdpau: add HEVC support v2 gallium/radeon: use VM for UVD gallium/radeon: use VM for VCE radeon/vce: make reloc offset signed Christoph Bumiller (1): gallium: Add blending to pipe blit Connor Abbott (10): nir/from_ssa: add a flag to not convert everything from SSA i965/fs: use SSA values directly i965/fs: emit constants only once nir: remove nir_src_get_parent_instr() nir: remove parent_instr from nir_register nir: add nir_instr_is_first() and nir_instr_is_last() helpers nir: add nir_foreach_instr_safe_reverse() i965/fs: fix regs_read() for LINTERP i965/fs: remove special case in setup_payload_interference() i965/fs: don't make unused payload registers interfere Dave Airlie (64): softpipe: move some image filter parameters into a struct softpipe: move control into a filter args struct softpipe: add textureOffset support. tgsi: handle TG4 opcode in tgsi exec softpipe: use arrays to make gather easier softpipe: start adding gather support (v2) GL3.txt: update softpipe ARB_gpu_shader5 status u_math: uses assert, include assert.h softpipe: fix offset wrapping calculations (v2) mesa/teximage: use correct extension for accept stencil texture. nouveau: set imported buffers to what the kernel gives us st/dri: check pscreen is valid before querying param r600g: ignore sampler views for now. tgsi: handle indirect sampler arrays. (v2) draw/tgsi: implement geom shader invocation support. draw/gallivm: add invocation ID support for llvmpipe. docs: update GL3 with softpipe/llvmpipe gpu_shader5 pieces. radeonsi: add support for viewport array (v3) radeonsi: add support for geometry shader invocations. tgsi: add infer support for double opcodes. gallivm: add fp64 support. (v2.1) docs: update for llvmpipe fp64 support r600g: fix sampler/ubo indexing on cayman r600g: move sampler/ubo index registers before temp reg tgsi: add DFMA to the opcode infer functions. radeonsi: ARB_gpu_shader_fp64 + ARB_vertex_attrib_64bit support. radeonsi: direct emit intrinsic for DFRAC. i965: fix warning since tess merge. glsl/tests: fix varying_test since tess changes. dispatch_sanity.cpp: remove commented out tess entries dispatch_sanity: add shader subroutine to fix make check glsl/types: add new subroutine type (v3.2) glsl: don't eliminate subroutine types. mesa: add inline conversion functions for ARB_shader_subroutine (v2) mesa: add function to check if shader subroutines are enabled. glsl/ir: add subroutine information storage to ir_function (v1.1) glsl/ir: allow ir_call to handle subroutine calling glsl: add ast/parser support for subroutine parsing storage (v3.2) glsl/ir: add subroutine lowering pass (v2.3) mesa/mtypes: add gl_subroutine_function and uniform storage to shader (v2) glsl: add uniform and program resource support (v2) program_resource: add subroutine support (v3.1) program: add subroutine uniform support (v1.1) mesa: fill out the ARB_shader_subroutine APIs st/mesa: add subroutine bits (v1.1) st/mesa: enable shader subroutine docs/GL3.txt: update ARB_shader_subroutine status. i965: add support for ARB_shader_subroutine docs/GL3.txt: ARB_shader_precision apiexec: remove leading gl from shader subroutine interfaces radeonsi: separate out load sample position radeonsi: split out interpolation input selection radeonsi: add support for indirect samplers (v2) radeonsi: ubo indexing support (v2) radeonsi: add fine derivate control (v2.1) radeonsi: add support for interpolateAt functions (v2) radeon: add streamout status 1-3 queries. radeon: move streamout buffer config to streamout enable function. (v2) radeon: add support for streams to the common streamout code. (v2) radeonsi: add GS multiple streams support (v2) radeonsi: enable GL4.1 and update documentation (v2) docs: consolidate radeonsi in GL3.txt st/mesa: don't draw instead of asserting in transform feedback GL: update glext to svn 31811 David Heidelberg (1): st/nine: Require gcc >= 4.6 Derek Foreman (4): egl/drm: Duplicate fd with F_DUPFD_CLOEXEC to prevent leak loader: Rename drm_open_device() to loader_open_device() and share it glx: Use loader_open_device() helper egl: Use the loader_open_device() helper to do open with CLOEXEC Dylan Baker (28): glapi: gl_table.py: Fix some low hanging style issues glapi: gl_table.py: replace getopt with argparse. glapi: remap_helper.py: Fix some low hanging style issues glapi: remap_helper.py: use argparse instead of optparse glapi: gl_procs.py: Fix a few low hanging style things glapi: gl_procs.py: Use argparse rather than getopt glapi: gl_enums.py: use argparse instead of getopt. glapi: gl_enums.py: use main() function for if __name__ == "__main__" glapi: gl_apitemp.py: Convert to argparse instead of getopt glapi: gl_apitemp.py: Use a main function glapi: gl_gentable.py: Replace getopt with argparse glapi: gl_gentable.py: use a main function glapi: gl_x86_asm.py: use argparse instead of getopt glapi: gl_x86_asm.py: use a main function glapi: gl_x86_64_asm.py: Use argparse instead of getopt glapi: gl_x86-64_asm.py: Use a main function glapi: gl_SPARC_asm.py use argparse instead of getopt glapi: gl_SPARC_asm.py: use main function glapi: glX_server_table.py: use argparse instead of getopt glapi: glX_proto_send.py: use argparse instead of getopt glapi: glX_proto_send.py: use a main function. glapi: gl_genexec.py: use argparse instead of getopt glapy: gl_genexec.py: use a main function glapi: glX_proto_recv.py: use argparse instead of getopt glapi: glX_proto_recv.py: Use a main function glapi: glX_proto_size.py: use argparse instead of getopt glapi: glX_proto_size.py: use a main function glapi: fix argument parsing in glX_proto_recv.py EdB (3): clover: Log build options when dumping clc source. clover: little OpenCL status code logging clean clover: make dispatch matches functions def Eduardo Lima Mitev (26): nir: prevent use-after-free condition in should_lower_phi() mesa: Fix error in target validation of glCompressedTex(ture)SubImage3D() calls mesa: Return INVALID_ENUM in glClearBufferiv() when buffer is not color or stencil i965/nir/vec4: Add implementation placeholders for a new NIR->vec4 pass i965/nir/vec4: Select between new nir_vec4 or current vec4_visitor code-paths i965/vec4: Move type_size() method to brw_vec4_visitor class i965/nir/vec4: Add setup of input variables in NIR->vec4 pass i965/nir/vec4: Add shader function implementation i965/nir: Pass a is_scalar boolean to brw_create_nir() i965/vec4: Add auxiliary func to build a writemask from a component size i965/nir/vec4: Implement load_const intrinsic i965/nir: Move brw_type_for_nir_type() to brw_nir to allow reuse i965/nir/vec4: Add get_nir_dst() and get_nir_src() methods i965/nir/vec4: Implement loop statements (nir_cf_node_loop) i965/nir/vec4: Implement load_input intrinsic i965/vec4: Make sure that register types always match during emit_urb_slot() i965/nir/vec4: Implement store_output intrinsic i965/nir/vec4: Implement nir_emit_jump i965/nir: Add new utility method brw_glsl_base_type_for_nir_type() i965/vec4: Move is_high_sample() method to vec4_visitor class i965/vec4: Change vec4_visitor::emit_mcs_fetch() method to allow reuse i965/vec4: Change vec4_visitor::gather_channel() method to allow reuse mesa: Fix errors values returned by glShaderBinary() mesa: Validate target before resolving tex obj in glTex(ture)SubImageXD mesa: Fix error returned by glCopyTexImage2D() upon an invalid internal format mesa: Add missing check of format and type in glTexSubImageXD on GLES 3.0 Edward O'Callaghan (4): r600,radeonsi: GL_ARB_conditional_render_inverted mesa: Fix printf format specifier warn of the ptrdiff_t r600: Rewrite r600_shader_selector_key() to use a switch stmt r600: Turn 'r600_shader_key' struct into union Emil Velikov (136): Post-branch version bump to 10.7.0-devel, add release notes template targets/osmesa: drop the -module tag from LDFLAGS Add release notes for the 10.5.6 release docs: Add sha256sums for the 10.5.6 release docs: add news item and link release notes for mesa 10.5.6 Add release notes for the 10.5.7 release docs: Add sha256sums for the 10.5.7 release docs: add news item and link release notes for mesa 10.5.7 egl/haiku: use correct version variable egl/haiku: remove commented out code egl/haiku: use CALL/TRACE/ERROR over _eglLog() for haiku specifics egl/haiku: handle memory allocation failure egl/haiku: remove unused variables in struct haiku_egl_driver egl/haiku: we don't use src/loader, drop all the references to it egl/haiku: kill off haiku_log() egl/haiku: minor surface management cleanups egl/haiku: plug some obvious memory leaks egl/haiku: coding style fixes freedreno: use CXX linker rather than explicit link against libstdc++ gallium: use $(top_builddir) when referencing static archives mesa; add a dummy _mesa_error_no_memory() symbol to libglsl_util pipe-loader: add libnir and libglsl_util to the link targets/nine: link against libnir/libglsl_util vc4: automake: enable subdir-objects docs: Update 10.6.0 release notes docs: Add sha256sums for the 10.6.0 release docs: add news item and link release notes for mesa 10.6.0 ilo: remove missing ilo_fence.h from the sources list Add release notes for the 10.5.8 release docs: Add sha256sums for the 10.5.8 release docs: add news item and link release notes for mesa 10.5.8 glapi: gl_table.py: remove unused variable 'es' glapi: remap_helper.py: remove unused argument 'es' configure: warn about shared_glapi & xlib-glx only when both are set drivers/x11: fix the build against shared_glapi targets/libgl-xlib: fix the build against shared_glapi configure: allow building shared-glapi powered libgl-xlib drivers/x11: drop unneeded HAVE_X11_DRIVER check configure: error out when building backend-less libEGL configure: error out when building libEGL without shared-glapi configure: drop unused variable GBM_BACKEND_DIRS gbm: do not (over)link against libglapi.so android: egl: do not link against libglapi st/wgl: add stw_nopfuncs.h to the sources lists mesa: fold duplicated GL/GL_CORE/GLES3 entry in get_hash_params.py Add release notes for the 10.6.1 release docs: Add sha256 checksums for the 10.6.1 release docs: add news item and link release notes for mesa 10.6.1 egl/drm: plug memory leak egl/wayland: handle NULL native_window in create_surface egl/wayland: cleanup dri2_wl_create_surface error path egl/x11: handle when invalid drawable is passed in create_surface Add release notes for the 10.5.9 release docs: Add sha256sums for the 10.5.9 release docs: add news item and link release notes for mesa 10.5.9 Add release notes for the 10.6.2 release docs: Add sha256 checksums for the 10.6.2 release docs: add news item and link release notes for mesa 10.6.2 pipe-loader: drop support for non-render node devices pipe-loader: simplify pipe_loader_drm_probe pipe-loader: remove pipe_loader_drm_probe_fd() x_auth argument automake: pipe-loader: remove the 'client' pipe-loader automake: remove empty GALLIUM_PIPE_LOADER_LIBS pipe-loader: remove pipe_loader_sw_probe_xlib pipe-loader: use loader_open_device() rather than open() auxiliary/vl: use loader_open_device() over open() radeonsi: directly include radeon/* headers bugzilla_mesa.sh: sort the bugs list by number i965: bump libdrm requirement to 2.4.61 and drop in-tree workaround i915: remove unused driFd variable radeon: remove dri_mirror state auxiliary/vl: use the correct screen index configure.ac: do not set HAVE_DRI(23) when libdrm is missing dri/swrast: automake: add LIBDRM_CFLAGS dri_interface: drop __NOT_HAVE_DRM_H magic st/dri: unwrap/remove __NOT_HAVE_DRM_H magic loader: use HAVE_LIBDRM instead of ! __NOT_HAVE_DRM_H dri/common: use HAVE_LIBDRM over __NOT_HAVE_DRM_H swrast: remove unneeded __NOT_HAVE_DRM_H define android: dri: correctly set HAVE_LIBDRM android: don't build the kms-dri winsys scons: don't build the kms-dri winsys radeon,r200: remove unused variable texmicrotile radeon,r200: remove support for UMS radeon DRM module radeon,r200: allow hyperz for radeon DRM module v2 dri/common: remove unused drm_version variable egl: remove the non-haiku scons build egl: remove flatten HAVE_SHARED_GLAPI egl: remove final references of platform_null egl: remove _EGL_PLATFORM_WINDOWS enum egl: remove custom string functions egl: remove final Windows specific workaround egl/haiku: remove unused DEFAULT_DRIVER_DIR define egl: remove unused _EGL_DRIVER_SEARCH_DIR define egl: automake: remove unused HAVE_XCB_DRI2 define gbm: do not build intermittent libgbm_dri static library automake: rework the EGL build scons: rework the EGL build android: rework the EGL build egl: remove old makefile.sources egl: android: remove DRM_GRALLOC_TOP hack Add release notes for 10.6.3 docs: Add checksums for mesa 10.6.3 tarballs docs: add news item and link release notes for mesa 10.6.3 svga: scons: remove unused HAVE_SYS_TYPES_H define targets/dri: scons: add missing link against libdrm configure.ac: null,android,gdi are not valid egl-platforms egl: consolidate ifdef HAVE_LIBDRM blocks egl/wayland: libdrm is a hard requirement, treat it as such egl: remove ifdef $(egl_extension) compile guards egl/wayland: use designated initializers egl/wayland: use drmGetNodeTypeFromFd helper instead of opencoding it configure.ac: check for mkostemp() winsys/radeon: don't leak the fd when it is 0 docs: rename/bump 10.7.0 release notes to 11.0.0 includes/GL: remove duplicated extension declarations from glx.h vc4: automake: remove unused include vc4: add missing nir include, to fix the build egl/x11: bail out if we cannot fetch the xcb connection egl/x11: remove dri2_dpy->conn checks egl/x11: fetch the device_name prior to driver_name egl/x11: open the device from within dri2_x11_connect() egl/x11: trust our loader over the xserver for the drivername egl/x11: auth with xserver before attempting to open the dri module egl/x11: don't crash if dri2_dpy->conn is NULL docs: add release notes for 10.6.4 docs: add sha256 checksums for 10.6.4 docs: add news item and link release notes for 10.6.4 docs: add release notes for 10.6.5 docs: add sha256 checksums for 10.6.5 docs: add news item and link release notes for 10.6.5 automake: build all drivers but vc4 during distcheck winsys/amdgpu: automake: remove missing headers winsys/sw/kms-dri: don't attempt to bundle the sconscript nouveau: add codegen/unordered_set.h to the tarball mapi: ship ARB_tessellation_shader.xml Eric Anholt (109): vc4: Don't forget to make our raster shadow textures non-raster. vc4: Don't try to put our dmabuf-exported BOs into the BO cache. vc4: Just stream out fallback IB contents. vc4: Fix return value handling for BO waits. vc4: Make sure we allocate idle BOs from the cache. vc4: Convert from simple_list.h to list.h vc4: Don't bother with safe list traversal in CSE. vc4: Update to current kernel validation code. vc4: Drop subdirectory in vc4 build. vc4: Drop qir include from vc4_screen.h egl/dri2: Fix Android Lollipop build on ARM. gallium: Enable build of NIR support on Android. vc4: Add support for building on Android. gallium: Drop the gallium-specific Android sw winsys. egl: Drop check for driver != NULL. vc4: Move vc4_packet.h to the kernel/ directory, since it's also shared. vc4: Use symbolic values in texture ptype validation. vc4: Make symbolic values for packet sizes. vc4: Use VC4_SET/GET_FIELD for some RCL packets. vc4: Handle refcounting the exec BO like we do in the kernel. vc4: Drop the unused "stride" field of surfaces. vc4: Factor out the live clamp register getter. vc4: R4 is not a valid register for clamped direct texturing. vc4: Swap around which src we spill to ra31/rb31. vc4: Make sure that direct texture clamps have a minimum value of 0. vc4: Track the number of BOs allocated and their size. vc4: Fix memory leak from simple_list conversion. vc4: Add dumping of VC4_PACKET_TILE_BINNING_MODE_CONFIG. vc4: Move RCL generation into the kernel. vc4: Move tile state/alloc allocation into the kernel. vc4: Fix write-only texsubimage when we had to align. vc4: Use a defined t value for 1D textures. mesa: Back out an accidental change I had in a VC4 commit. tgsi_to_nir: Fix translation of TXF on MSAA targets. vc4: Fix printfs for blit fallbacks. vc4: Reuse (and extend) the packet.h sizes for dumping. vc4: Add an "args" temporary for RCL setup. vc4: Clarify size calculation for Z/S writes. vc4: Pull the blending operation out to a separate function. vc4: Make a helper for TLB color writes, too. vc4: Don't try to CSE color reads. vc4: Add dumping for VC4_PACKET_LOAD/STORE_FULL_RES_TILE_BUFFER. vc4: Also dump VC4_PACKET_LOAD_TILE_BUFFER_GENERAL. vc4: Add perf debug for when we wait on BOs. vc4: Store reloc pointers as pointers, not offsets. vc4: Drop separate cl*_reloc_hindex(). vc4: Make a helper function for getting the current offset in the CL. vc4: Rework cl handling to be friendlier to the compiler. vc4: Drop reloc_count tracking for debug asserts on non-debug builds. vc4: Add better debug for register allocation failure. vc4: Fix compiler warnings on release builds. vc4: Fix some -Wdouble-promotion warnings. vc4: Move uniforms handling to a separate file. vc4: Cache texture p0/p1 setup for the sampler view. vc4: Cache the texture p1 for the sampler. mesa: Detect and provide macros for function attributes pure and const. vc4: Use the pure/const attributes on a bunch of our QPU functions. vc4: Also consider uniform 0 in uniform lowering. vc4: Add debugging on texture relocation validation failures. vc4: Fix printing of shader-db debug when shader-db isn't turned on. vc4: Switch to using a separate ioctl for making shaders. vc4: Add support for ARB_draw_elements_base_vertex. vc4: Fix bus errors on dumping CL on hardware. vc4: Fix raster surface shadow updates under DRI2. vc4: Drop NV shader reloc validation. vc4: Ensure that the bin CL is properly capped by increment/flush. vc4: Make the object be the return value from vc4_use_bo(). vc4: Keep the validated shader around for the simulator execution. vc4: Simplify vc4_use_bo and make sure it's not a shader. vc4: Drop unused vpm_offset value. vc4: Skip re-emitting the shader_rec if it's unchanged. vc4: Fix return values from recent validation changes. vc4: Avoid overflowing various static tables. vc4: Avoid leaking indirect array access UBOs. vc4: Mark our shaders as single-threaded. vc4: Start adding a NIR-based output lowering pass. vc4: Lower NIR inputs to scalar as well. vc4: Move program keys to the header file. vc4: Move some FS input lowering into NIR. vc4: Lower uniform loads to scalar in NIR. Revert "nir: Use a single bit for the dual-source blend index" vc4: Drop a dead prototype. vc4: Make r4-writes implicitly move to a temp, and allocate temps to r4. vc4: Don't bother saturating the dst color for blending. nir: Add algebraic opt for no-op iand. vc4: Don't bother de-SSAing values that aren't part of phi webs. nir: Add a nir_lower_load_const_to_scalar() pass. vc4: Use nir_lower_load_const_to_scalar(). nir: Add a nir_opt_undef() to handle csels with undef. nir: Don't try to scalarize unpack ops. vc4: Add a helper for making driver-specific NIR load_uniform for GL state vc4: Move all of our fixed function fragment color handling to NIR. nir: Zero out texture instructions when creating them. nir: Add support for CSE on textures. mesa: Move varying slots and FS output names to shader_enums.h vc4: We can now move TEX_RESULT accesses across other r4 ops. vc4: Allow QIR registers to be non-SSA. vc4: Make the pack-to-unorm instructions be non-SSA. vc4: Switch QPU_PACK_SCALED to be two non-SSA instructions. vc4: Drop an unused algebraic op. vc4: Add a QIR helper for whether the op is a MUL type. vc4: Pack the unorm-packing bits into a src MUL instruction when possible. vc4: Allow unpack_8[abcd]_f's src to stay in r4. vc4: Add algebraic opt for rcp(1.0). vc4: Use the SSA defs list for figuring out eligible MOVs for copy prop. vc4: Make _dest variants of qir ALU helpers to provide an explicit dest. vc4: Reuse QPU dumping for packing bits in QIR. vc4: Fold the 16-bit integer pack into the instructions generating it. vc4: Actually allow math results to allocate into r4. Erik Faye-Lund (8): mesa: build xmlconfig to a separate static library mesa/main: Get rid of outdated GDB-hack dri: don't touch the shader compiler mesa/main: only call _mesa_destroy_shader_compiler once on exit glsl: No need to lock in _mesa_glsl_release_types util: port _mesa_strto[df] to C mesa/main: free locale at exit glsl: add a missing call to _mesa_locale_init Fabian Bieler (15): mapi: add ARB_tessellation_shader mesa: add tessellation shader structs mesa: add tessellation shader enums mesa: add tessellation shader init functions. mesa: add misc tessellation shader support mesa: support tess stages in glGetProgramPipelineiv mesa: add tessellation shader getters (v3) mesa: add misc tessellation shader stuff glsl: add tessellation shader parsing support (v2) glsl: add tessellation shader defines and built-in variables. glsl: add the patch in/out qualifier (v2) glsl: make lower_clip_distance work with tessellation shaders. glsl: lower gl_TessLevel* from float[n] to vecn. glsl: add "in" or "out" prefix to name when flattening interface blocks glsl: make stand-alone compiler work with tessellation shaders. Fabio Pedretti (1): docs: consolidate nvc0 status Francisco Jerez (169): mesa: Include simple_list.h explicitly in errors.c. tnl: Include simple_list.h explicitly in t_context.c. dri/nouveau: Include simple_list.h explicitly in nv*_state_tnl.c. mesa: Drop include of simple_list.h from mtypes.h. i965: Define consistent interface to predicate an instruction. i965: Define consistent interface to enable instruction conditional modifiers. i965: Define consistent interface to enable instruction result saturation. i965/fs: Introduce FS IR builder. i965/fs: Allocate a common IR builder object in fs_visitor. i965/fs: Migrate opt_combine_constants to the IR builder. i965/fs: Migrate opt_peephole_predicated_break to the IR builder. i965/fs: Take into account all instruction fields in CSE instructions_match(). i965/vec4: Take into account all instruction fields in CSE instructions_match(). i965/fs: Don't drop force_writemask_all and _sechalf when copying a CSE temporary. i965/fs: Migrate opt_cse to the IR builder. i965/fs: Create and emit instructions in one step in opt_peephole_sel. i965/fs: Migrate opt_peephole_sel to the IR builder. i965/fs: Migrate opt_sampler_eot to the IR builder. i965/fs: Migrate try_replace_with_sel to the IR builder. i965/fs: Migrate register spills and fills to the IR builder. i965/fs: Migrate lower_load_payload to the IR builder. i965/fs: Migrate lower_integer_multiplication to the IR builder. i965/fs: Migrate Gen4 send dependency workarounds to the IR builder. i965/fs: Migrate pull constant loads to the IR builder. i965/fs: Migrate texturing implementation to the IR builder. i965/fs: Migrate untyped surface read and atomic to the IR builder. i965/fs: Migrate shader time to the IR builder. i965/fs: Migrate FS interpolation code to the IR builder. i965/fs: Migrate FS gl_SamplePosition/ID computation code to the IR builder. i965/fs: Migrate FS discard handling to the IR builder. i965/fs: Migrate FS alpha test to the IR builder. i965/fs: Migrate FS framebuffer writes to the IR builder. i965/fs: Migrate VS output writes to the IR builder. i965/fs: Migrate CS terminate message to the IR builder. i965/fs: Migrate NIR emit_percomp() to the IR builder. i965/fs: Migrate NIR variable handling to the IR builder. i965/fs: Migrate translation of NIR control flow to the IR builder. i965/fs: Migrate translation of NIR ALU instructions to the IR builder. i965/fs: Migrate translation of NIR intrinsics to the IR builder. i965/fs: Migrate translation of NIR texturing instructions to the IR builder. i965/fs: Migrate test_fs_saturate_propagation to the IR builder. i965/fs: Migrate test_fs_cmod_propagation to the IR builder. i965/fs: Remove dead IR construction code from the visitor. i965/fs: Drop fs_inst::force_uncompressed. i965/fs: Remove one more fixed brw_null_reg() from the visitor. i965/fs: Relax fs_builder channel group assertion when force_writemask_all is on. i965/gen4-5: Set ENDIF dst and src0 fields to the null register. i965/gen4-5: Program the execution size correctly for DO/WHILE instructions. i965/gen4-5: Enable 16-wide dispatch on shaders with control flow. i965/gen9: Use custom MOCS entries set up by the kernel. i965: Implement b2f and b2i using negation. i965: Implement nir_op_uadd_carry and _usub_borrow without accumulator. i965/fs: Factor out universally broken calculation of the register component size. i965/fs: Fix stride for immediate registers. i965/fs: Fix stride field for uniforms. i965: Fix stride field for the result of emit_uniformize(). i965/fs: Detect multi-register MOVs correctly in register_coalesce. i965/fs: Fix rewrite of the second half of 16-wide coalesced registers. i965/fs: Simplify instruction rewrite loop in the register coalesce pass. i965/fs: Factor out source components calculation to a separate method. i965/fs: Add stub lowering pass for logical send-message opcodes. i965/fs: Add builder emit method taking a variable number of source registers. i965/fs: Fix return value of fs_inst::regs_read() for BAD_FILE. i965/fs: Implement pass to lower instructions of unsupported SIMD width. i965/fs: Define logical framebuffer write opcode. i965/fs: Honour the instruction force_sechalf and exec_size fields for FB writes. i965/fs: Make sure that the type sizes are compatible during copy propagation. i965/fs: Fix slight layering violation in emit_single_fb_writes(). i965/fs: Simplify control flow in emit_single_fb_write(). i965/fs: Move up prog_data->uses_omask assignment up to brw_codegen_wm_prog(). i965/fs: Move up Gen6 no16 check to emit_fb_writes(). i965/fs: Don't attempt to copy the useless half of oMask for SIMD8 FB writes. i965/fs: Remove the FS_OPCODE_SET_OMASK pseudo-opcode. i965/fs: Hook up SIMD lowering to unroll FB writes of unsupported width.