Permalink
Switch branches/tags
Commits on Apr 23, 2017
  1. freedreno/a5xx: hack for r8g8b8a8_snorm

    Blob won't render to this format, and sampling from it it uses the same
    fmt value for r8g8b8_snorm and r8g8b8a8_snorm.  But this is what is what
    blocks us from jumping from gl30/gles20 to gl31/gles30.  So a hack it
    is!
    
    Signed-off-by: Rob Clark <robdclark@gmail.com>
    robclark committed Apr 23, 2017
  2. freedreno/a5xx: rgtc formats

    Signed-off-by: Rob Clark <robdclark@gmail.com>
    robclark committed Apr 23, 2017
Commits on Apr 22, 2017
  1. mesa: replace _mesa_index_buffer::type with index_size

    This avoids repeated translations of the enum.
    
    Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    Marek Olšák committed Apr 2, 2017
  2. radv: Use the correct pipeline for dispatches.

    Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
    Fixes: ec15e0d "radv: optimise compute shader grid size emission."
    Tested-by: Grazvydas Ignotas <notasas@gmail.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    BNieuwenhuizen committed with Dave Airlie Apr 22, 2017
  3. etnaviv: Supertiled texture support on gc3000

    Support supertiled textures on hardware that has the appropriate
    feature flag SUPERTILED_TEXTURE.
    
    Most of the scaffolding was already in place in etna_layout_multiple:
    
       case ETNA_LAYOUT_SUPER_TILED:
          *paddingX = 64;
          *paddingY = 64;
          *halign = TEXTURE_HALIGN_SUPER_TILED;
    
    So this is just a matter of allowing it.
    
    Signed-off-by: Wladimir J. van der Laan <laanwj@gmail.com>
    Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
    laanwj committed with austriancoder Apr 18, 2017
  4. etnaviv: etnaviv_fence: Simplify the return code logic

    The return code can be simplified by using the logical not operator.
    
    Signed-off-by: Fabio Estevam <festevam@gmail.com>
    Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
    fabioestevam committed with austriancoder Apr 17, 2017
  5. freedreno/a5xx: occlusion query

    Signed-off-by: Rob Clark <robdclark@gmail.com>
    robclark committed Apr 21, 2017
  6. freedreno: drop ring arg from _set_stage()

    It is always the draw ring.  Except for a5xx queries like time-elapsed,
    where we will eventually want to emit cmds into both binning and draw
    rings.
    
    Signed-off-by: Rob Clark <robdclark@gmail.com>
    robclark committed Apr 21, 2017
  7. freedreno: update generated headers

    Signed-off-by: Rob Clark <robdclark@gmail.com>
    robclark committed Apr 21, 2017
  8. freedreno: add support for hw accumulating queries

    Some queries on a4xx and all queries on a5xx can do result accumulation
    on CP so we don't need to track per-tile samples.  We do still need to
    handle pausing/resuming while switching batches (in case the query is
    active over multiple draws which are executed out of order).
    
    So introduce new accumulated-query helpers for these sorts of queries,
    since it doesn't really fit in cleanly with the original query infra-
    structure.
    
    Signed-off-by: Rob Clark <robdclark@gmail.com>
    robclark committed Apr 21, 2017
  9. freedreno: a bit of query refactor

    Move a bit more of the logic shared by all query types (active tracking,
    etc) into common code.  This avoids introducing a 3rd copy of that logic
    for a5xx.
    
    Signed-off-by: Rob Clark <robdclark@gmail.com>
    robclark committed Apr 21, 2017
  10. freedreno: make hw-query a helper

    For a5xx (and actually some queries on a4xx) we can accumulate results
    in the cmdstream, so we don't need this elaborate mechanism of tracking
    per-tile query results.  So make it into vfuncs so generation specific
    backend can use it when it makes sense.
    
    Signed-off-by: Rob Clark <robdclark@gmail.com>
    robclark committed Apr 21, 2017
  11. i965/vec4: Avoid reswizzling MACH instructions in opt_register_coales…

    …ce().
    
    opt_register_coalesce() was optimizing sequences such as:
    
       mul(8) acc0:D, attr18.xyyy:D, attr19.xyyy:D
       mach(8) vgrf5.xy:D, attr18.xyyy:D, attr19.xyyy:D
       mov(8) m4.zw:F, vgrf5.xxxy:F
    
    into:
    
       mul(8) acc0:D, attr18.xyyy:D, attr19.xyyy:D
       mach(8) m4.zw:D, attr18.xxxy:D, attr19.xxxy:D
    
    This doesn't work - if we're going to reswizzle MACH, we'd need to
    reswizzle the MUL as well.  Here, the MUL fills the accumulator's .zw
    components with attr18.yy * attr19.yy.  But the MACH instruction expects
    .z to contain attr18.x * attr19.x.  Bogus results ensue.
    
    No change in shader-db on Haswell.  Prevents regressions in Timothy's
    patches to use enhanced layouts for varying packing (which rearrange
    code just enough to trigger this pre-existing bug, but were fine
    themselves).
    
    Acked-by: Timothy Arceri <tarceri@itsqueeze.com>
    Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
    kaydenl committed Apr 21, 2017
  12. mesa: validate sampler type across the whole program

    Currently we were only making sure types were the same within a
    single stage. This looks to have regressed with 953a0af.
    
    Fixes: 953a0af ("mesa: validate sampler uniforms during gluniform calls")
    
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
    Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
    https://bugs.freedesktop.org/show_bug.cgi?id=97524
    Timothy Arceri committed Apr 21, 2017
  13. mesa: don't lock hashtables that are not shared across contexts

    From Chapter 5 'Shared Objects and Multiple Contexts' of
    the OpenGL 4.5 spec:
    
       "Objects which contain references to other objects include
       framebuffer, program pipeline, query, transform feedback,
       and vertex array objects.   Such objects are called container
       objects and are not shared"
    
    For we leave locking in place for framebuffer objects because
    the EXT fbo extension allowed sharing.
    
    We could maybe just replace the hash with an ordinary hash table
    but for now this should remove most of the unnecessary locking.
    
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
    Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Timothy Arceri committed Apr 7, 2017
  14. mesa: Remove deleteFlag pattern from container objects.

    This pattern was only useful when we used mutex locks, which the previous
    commit removed.
    
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
    Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    mattst88 committed with Timothy Arceri Apr 5, 2017
  15. mesa: Remove unnecessary locking from container objects.

    From Chapter 5 'Shared Objects and Multiple Contexts' of
    the OpenGL 4.5 spec:
    
       "Objects which contain references to other objects include
       framebuffer, program pipeline, query, transform feedback,
       and vertex array objects.   Such objects are called container
       objects and are not shared"
    
    For we leave locking in place for framebuffer objects because
    the EXT fbo extension allowed sharing.
    
    V2: (Timothy Arceri)
     - rebased and dropped changes to framebuffer objects
    
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
    Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    mattst88 committed with Timothy Arceri Apr 21, 2017
  16. mesa: remove fallback RefCount == 0 pattern

    We should never get here if this is 0 unless there is a
    bug. Replace the check with an assert.
    
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
    Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Timothy Arceri committed Apr 21, 2017
Commits on Apr 21, 2017
  1. egl: add gitignore

    Since commit ce562f9, two new files are generated.
    We don't want to track them.
    
    Signed-off-by: Elie Tournier <elie.tournier@collabora.com>
    Reviewed-by: Plamena Manolova <plamena.manolova@intel.com>
    Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
    Hopetech committed with evelikov Apr 21, 2017
  2. glsl: make use of glsl_type::is_float()

    Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
    Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
    hakzsam committed Apr 21, 2017
  3. glsl: make use of glsl_type::is_double()

    Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
    Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
    hakzsam committed Apr 21, 2017
  4. glsl: make use of glsl_type::is_integer_64()

    Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
    Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
    hakzsam committed Apr 21, 2017
  5. glsl: simplify glsl_type::is_integer_32_64()

    Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
    Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
    hakzsam committed Apr 21, 2017
  6. glsl: add glsl_type::is_integer_64()

    Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
    Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
    hakzsam committed Apr 21, 2017
  7. glsl: make use of glsl_type::is_boolean()

    Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
    Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
    hakzsam committed Apr 21, 2017
  8. glsl: make use of glsl_type::is_record()

    Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
    Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
    hakzsam committed Apr 21, 2017
  9. glsl: make use of glsl_type::is_interface()

    Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
    Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
    hakzsam committed Apr 21, 2017
  10. glsl: make use of glsl_type::is_array()

    Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
    Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
    hakzsam committed Apr 21, 2017
  11. glsl: make use glsl_type::is_atomic_uint()

    Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
    Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
    hakzsam committed Apr 21, 2017
  12. glsl: add glsl_type::is_atomic_uint() helper

    Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
    Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
    hakzsam committed Apr 21, 2017
  13. mesa/glthread: correctly compare thread handles

    As mentioned in the manual - comparing pthread_t handles via the C
    comparison operator is incorrect and pthread_equal() should be used
    instead.
    
    Cc: Timothy Arceri <tarceri@itsqueeze.com>
    Fixes: d8d81fb ("mesa: Add infrastructure for a worker thread to process GL commands.")
    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
    Reviewed-by: Plamena Manolova <plamena.manolova@intel.com>
    Reviewed-by: Brian Paul <brianp@vmware.com>
    Reviewed-by: Eric Anholt <eric@anholt.net>
    Emil Velikov committed with evelikov Apr 20, 2017
  14. st/clover: add space between < and ::

    As pointed out by compiler
    
    ./llvm/codegen.hpp:52:22: error: ‘<::’ cannot begin a template-argument list [-fpermissive]
    ./llvm/codegen.hpp:52:22: note: ‘<:’ is an alternate spelling for ‘[’. Insert whitespace between ‘<’ and ‘::’
    
    Cc: Francisco Jerez <currojerez@riseup.net>
    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
    Reviewed-by: Vedran Miletić <vedran@miletic.net>
    Emil Velikov committed with evelikov Apr 19, 2017
  15. glsl: get rid of values_for_type()

    This function is actually a wrapper for component_slots()
    and it always returns 1 (or N) for samplers. Since
    component_slots() now return 1 for samplers, it can go.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
    Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
    hakzsam committed Apr 20, 2017
  16. glsl: make component_slots() returns 1 for sampler types

    It looks inconsistent to return 1 for image types and 0 for
    sampler types. Especially because component_slots() is mostly
    used by values_for_type() which always returns 1 for samplers.
    
    For bindless, this value will be bumped to 2 because the
    ARB_bindless_texture states that bindless samplers/images
    should consume two components.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
    Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
    hakzsam committed Apr 20, 2017
  17. docs/features: mark KHR_no_error as started

    The OpenGL extension KHR_no_error is exposed since commit
    d42d150 by Timothy Arceri. Therefore it
    should be marked as "started" in the features.txt
    
    Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
    TheRealCuran committed with Nicolai Hähnle Apr 20, 2017