Mesa (master): 22 new commits

Samuel Iglesias Gonsálvez samuelig at kemper.freedesktop.org
Mon Jan 9 10:25:20 UTC 2017


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0449c93638e74cc0d04986664c0b8b7ec2615893
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Thu Nov 10 10:06:48 2016 +0100

    anv: enable shaderFloat64 feature
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=465204695f99747174983c96d9e50e7c158fc22f
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Wed Jan 4 13:11:35 2017 +0100

    anv: enable float64 feature on supported platforms
    
    v2:
    - Remove image_ms_array initialization (Jason)
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=88c8121ec9e591fee53bdd416247997eef47b40f
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Wed Jan 4 09:35:36 2017 +0100

    spirv: enable SpvCapabilityFloat64 only to supported platforms
    
    v2 (Jason):
    - Use nir_spirv_supported_extensions to check if the feature is enabled.
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2acf97fcc9b32eaa9778771282758e5652a8ad4
Author: Juan A. Suarez Romero <jasuarez at igalia.com>
Date:   Fri Dec 16 10:24:43 2016 +0100

    nir/i965: use two slots from inputs_read for dvec3/dvec4 vertex input attributes
    
    So far, input_reads was a bitmap tracking which vertex input locations
    were being used.
    
    In OpenGL, an attribute bigger than a vec4 (like a dvec3 or dvec4)
    consumes just one location, any other small attribute. So we mark the
    proper bit in inputs_read, and also the same bit in double_inputs_read
    if the attribute is a dvec3/dvec4.
    
    But in Vulkan, this is slightly different: a dvec3/dvec4 attribute
    consumes two locations, not just one. And hence two bits would be marked
    in inputs_read for the same vertex input attribute.
    
    To avoid handling two different situations in NIR, we just choose the
    latest one: in OpenGL, when creating NIR from GLSL/IR, any dvec3/dvec4
    vertex input attribute is marked with two bits in the inputs_read bitmap
    (and also in the double_inputs_read), and following attributes are
    adjusted accordingly.
    
    As example, if in our GLSL/IR shader we have three attributes:
    
    layout(location = 0) vec3  attr0;
    layout(location = 1) dvec4 attr1;
    layout(location = 2) dvec3 attr2;
    
    then in our NIR shader we put attr0 in location 0, attr1 in locations 1
    and 2, and attr2 in location 3 and 4.
    
    Checking carefully, basically we are using slots rather than locations
    in NIR.
    
    When emitting the vertices, we do a inverse map to know the
    corresponding location for each slot.
    
    v2 (Jason):
    - use two slots from inputs_read for dvec3/dvec4 NIR from GLSL/IR.
    
    v3 (Jason):
    - Fix commit log error.
    - Use ladder ifs and fix braces.
    - elements_double is divisible by 2, don't need DIV_ROUND_UP().
    - Use if ladder instead of a switch.
    - Add comment about hardware restriction in 64bit vertex attributes.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3551a2d3ad2661477ba3b0a36a13eeb68e28fe85
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Tue Nov 15 12:49:38 2016 +0100

    isl: fix VA64 support for double and dvecN vertex attributes
    
    We use *64*_PASSTHRU formats to upload vertex attributes of 64 bits
    to avoid conversions. From the BDW PRM, Volume 2d, page 586
    (VERTEX_ELEMENT_STATE):
    
         "When SourceElementFormat is set to one of the *64*_PASSTHRU
         formats, 64-bit components are stored in the URB without any
         conversion. In this case, vertex elements must be written as 128
         or 256 bits, with VFCOMP_STORE_0 being used to pad the output
         as required. E.g., if R64_PASSTHRU is used to copy a 64-bit Red
         component into the URB, Component 1 must be specified as
         VFCOMP_STORE_0 (with Components 2,3 set to VFCOMP_NOSTORE)
         in order to output a 128-bit vertex element, or Components 1-3 must
         be specified as VFCOMP_STORE_0 in order to output a 256-bit vertex
         element. Likewise, use of R64G64B64_PASSTHRU requires Component 3
         to be specified as VFCOMP_STORE_0 in order to output a 256-bit vertex
         element."
    
    v2,v3 (Jason):
    - Don't delete unused formats.
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1c9483f48e7ee7dd32847352e95c5151dfb0f3f2
Author: Juan A. Suarez Romero <jasuarez at igalia.com>
Date:   Tue Nov 15 16:57:30 2016 +0000

    anv/pipeline: get map for double input attributes
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cc4ff6c2a01138c44e95af90ec9ddf0f772ca4dc
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Mon Nov 14 12:08:32 2016 +0100

    spirv: add support for doubles to OpSpecConstant
    
    v2 (Jason):
    - Fix indent in radv change
    - Add vtn_u64_literal() helper to take 64 bits (Jason)
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fc1708948ba96004ef7941a69abcea13258fc956
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Thu Nov 10 10:37:40 2016 +0100

    spirv/nir: add (un)packDouble2x32() translation
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c332432bae6d78c8fa8a74ecae7ef3d22a500762
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Wed Dec 7 08:10:16 2016 +0100

    spirv/nir: implement DF conversions
    
    SPIR-V does not have special opcodes for DF conversions. We need to identify
    them by checking the bit size of the operand and the result.
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=27cf6a369fcec15a9f65837507f57dbd8bdfaaaa
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Wed Dec 7 08:34:42 2016 +0100

    nir: add nir_type_conversion_op()
    
    This function returns the nir_op corresponding to the conversion between
    the given nir_alu_type arguments.
    
    This function lacks support for integer-based types with bit_size != 32
    and for float16 conversion ops.
    
    v2:
    - Improve readiness of the code and delete cases that don't happen now (Jason)
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a571fcc43e70731417f0b81cbce4b0a0c1be71d
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Wed Dec 7 08:34:02 2016 +0100

    nir: add nir_get_nir_type_for_glsl_type()
    
    v2 (Jason):
    - Refactor nir_get_nir_type_for_glsl_type() to avoid using unneeded helpers (Jason)
    
    v3:
    - Use return directly (Jason)
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=59944a77ae5a01b6fd074def1d5031e0b7d5e47b
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Thu Nov 10 12:11:03 2016 +0100

    spirv: add support for doubles on OpComposite{Insert,Extract}
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e6bebb998224787ba8e11b5d6047d454118505b5
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Thu Nov 10 12:07:53 2016 +0100

    spirv: Enable double floating points when copying variables in _vtn_variable_copy()
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9d71cfeff8016732064869a628d9d787b71e4280
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Thu Nov 10 10:07:09 2016 +0100

    spirv: add double support to _vtn_block_load_store()
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0cd0c32c06e03672a95fa7e7cdbb4cd400f92e9f
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Tue Nov 8 16:55:46 2016 +0100

    spirv: add double support to _vtn_variable_load_store
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8076c8b59f2f2acebdd8e8454290c54191805645
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Mon Nov 21 16:19:13 2016 +0100

    spirv: add double support to SpvOpCompositeExtract
    
    v2 (Jason):
    - Add asserts.
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a9663878835b14051fbd79f644bae3f23daf1787
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Mon Nov 21 16:13:46 2016 +0100

    spirv: fix SpvOpSpecConstantOp with SpvOpVectorShuffle working with double-based vecs
    
    We need to pick two 32-bit values per component to perform the right shuffle operation.
    
    v2 (Jason):
    - Add assert to check matching bit sizes (Jason)
    - Simplify the code to pick components (Jason)
    
    v3:
    - Switch on bit_size once (Jason)
    - Add comment to explain the constant value for unused components (Erik)
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ec686ff62c840e8a5766f1c9dc80f09cba8af73a
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Mon Nov 21 16:33:08 2016 +0100

    spirv: add DF support to SpvOp*ConstantComposite
    
    v2 (Jason):
    - Add assert.
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2bf4d0ba7a137a851c497bbcd5a1a1447a961f60
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Mon Nov 21 16:32:24 2016 +0100

    spirv: add DF support to vtn_const_ssa_value()
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d77ffc3d873683d4a8e14209c25829db29c96dcf
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Mon Nov 21 16:30:47 2016 +0100

    spirv: add support for loading DF constants
    
    v2 (Jason):
    - Add assert.
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9602c7c02f854beee70c9e2713e39f04234bb558
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Tue Nov 8 16:45:37 2016 +0100

    spirv: add definition of double based data types
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d1bbe2c94e218545714b22da31fa38710acf36e4
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Mon Nov 14 10:04:48 2016 +0100

    spirv: fix typo in spec_constant_decoration_cb()
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>




More information about the mesa-commit mailing list