| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
For combined depth/stencil formats, we may want to only blit one half.
If PIPE_BLIT_Z is set, blit depth; if PIPE_BLIT_S is set, blit stencil.
|
|
|
|
|
| |
st/mesa never asks for this today, but in theory someone might, and we
don't support it.
|
|
|
|
| |
dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_*.primitives.points
|
|
|
|
|
|
|
|
| |
I think this was an attempt to work around various sample mask bugs I
had early on. It's not correct. A sample mask of 0 is legal and means
to disable all samples.
Fixes dEQP-GLES31.functional.texture.multisample.*.*sample_mask*
|
|
|
|
| |
loader shouldn't try, but let's be paranoid
|
|
|
|
|
|
|
| |
I had a hack in place earlier to pass the query type as q->index
for the regular statistics query, but we ended up adjusting the
interface and adding a new query type. Use that instead, fixing
pipeline statistics queries since the rebase.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We were dividing by 4 in calculate_result_on_gpu(), and also in
iris_get_query_result(). We should stop doing the latter, and instead
divide by 4 in calculate_result_on_cpu() as well.
Otherwise, if snapshots were available, and you hit the
calculate_result_on_cpu() path, but requested it be written to a QBO,
you'd fail to get a divide.
|
|
|
|
| |
This is actually stored in ice->state, as it isn't gen-specific
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is an awkward corner case. We create batches in order, each of
which creates and pins a BO. The other batches may not be set up yet,
so it may not be safe to ask whether they reference a BO.
Just avoid this for now. We could avoid it for other context-local BOs
too, but we currently don't have a flag for that (and I'm not certain
whether it's worth it).
|
|
|
|
|
|
|
|
|
|
|
|
| |
Various places in the transfer code need to know whether they must
read the existing resource's values. Rather than checking both flags
everywhere, just make PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE also flag
PIPE_TRANSFER_DISCARD_RANGE - if we can discard everything, we can
discard a subrange, too.
Obviously, we can do better for PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE,
but eventually u_threaded_context should handle swapping out buffers
for new idle buffers, anyway. In the meantime, this is at least better.
|
|
|
|
|
|
|
| |
BLORP uses the render engine to write to buffers, and we need to flush
that data out to the actual surface (finishing the write). Then, the
rest of this function invalidates any caches that might have stale data
which needs to be refetched.
|
|
|
|
|
|
| |
I don't know if this is required - surprisingly, I haven't seen it
matter - but I'd like to use it for multi-slice transfer maps. We may
as well do the right thing.
|
|
|
|
|
|
| |
There are a variety of ways to fix this, many of which are simple, but
I could use some advice on which ones other people prefer, and so we'll
punt until after the holidays.
|
|
|
|
| |
We have to use SURFTYPE_BUFFER and ISL_FORMAT_RAW for these.
|
| |
|
|
|
|
|
|
|
| |
We were relying on CSE/GVN/etc to coalesce all intrinsics that load the
same value, but that's a bad idea. We might have a couple intrinsics
that reload the same value. If so, we only want to set up the uniform
on the first one we see.
|
|
|
|
|
|
|
|
|
|
|
|
| |
System values are built-in uniforms. We set them up as UBO values, and
might pull or push them. UBO push analysis will take care of that. We
only want to enable push constants if there's an actual range being
pushed. Otherwise, we might get into a scenario where 3DSTATE_PS
enables push constants but 3DSTATE_CONSTANT_PS isn't pushing anything.
This fixes GPU hangs in Broadwell image load store tests which have
unused image param system values but no other uniforms. (We shouldn't
be making those anyway, but that's a separate fix...)
|
|
|
|
|
|
|
|
|
|
| |
cso_fb->layers is only valid for no-attachment framebuffers. Use the
helper function to get the real value, then stash it so we don't have
to call the helper function on the old value for comparison, or at draw
time for Force Zero RTA Index setting.
This fixes Force Zero RTA Index being set even when attempting layered
rendering.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This adds all the state changes, MOCS changes,
|
|
|
|
|
|
|
|
|
| |
Both 'z' and 'depth' are counted in slices, according to the Gallium
docs (context.rst). In our temporary memory, we allocate `box.depth`
slices, so we need to rebase the starting slice (box.z) down to 0,
and back again when writing on unmap.
There's nothing strange about cubes here.
|
|
|
|
| |
Thanks to Eero Tamminen for helping catch this.
|
| |
|
|
|
|
|
| |
We don't need to consider compute at render time, and don't need to
consider disabled stages. 4% on drawoverhead.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Assertion error:
iris_resource_from_handle: Assertion `res->bo->tiling_mode ==
isl_tiling_to_i915_tiling(res->surf.tiling)' failed.
This patch fixes 16 piglit tests on KBL:
glx/glx-multithread-texture
glx/glx-query-drawable-glx_fbconfig_id-glxpbuffer
glx/glx-query-drawable-glx_fbconfig_id-glxpixmap
glx/glx-query-drawable-glx_preserved_contents
glx/glx-query-drawable-glxpbuffer-glx_height
glx/glx-query-drawable-glxpbuffer-glx_width
glx/glx-query-drawable-glxpixmap-glx_height
glx/glx-query-drawable-glxpixmap-glx_width
glx/glx-swap-pixmap
glx/glx-swap-pixmap-bad
glx/glx-tfp
glx/glx-visuals-depth -pixmap
glx/glx-visuals-stencil -pixmap
spec/egl 1.4/eglcreatepbuffersurface and then glclear
spec/egl 1.4/largest possible eglcreatepbuffersurface and then glclear
spec/egl_nok_texture_from_pixmap/basic
Cc: Kenneth Graunke <[email protected]>
Cc: Jason Ekstrand <[email protected]>
Signed-off-by: Rhys Kidd <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Gen9-10 have fewer than 4 subslices per slice, so they need this to be
rounded up. Gen11 isn't documented as needing this hack, and it can
also have more than 4 subslices, so the hack actually can break things.
Fixes tests/spec/arb_enhanced_layouts/execution/component-layout/
sso-vs-gs-fs-array-interleave
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
not sure why this hasn't tripped things up
|
| |
|
| |
|
|
|
|
| |
This does the gtt_offset addition for us
|
|
|
|
| |
This will check aux_usage eventually
|
|
|
|
|
| |
lots of noise in diff, hope was it would be useful for gdb, but the
the GEM handle is good enough
|
|
|
|
|
| |
This now matches the actual function in iris_bufmgr.c, as well as the
equivalent brw_bufmgr.c function...
|
|
|
|
|
|
| |
This fixes ext_transform_feedback-builtin-varyings gl_Position after the
combination of my transform feedback reworks and my vertex buffer
reworks (?)
|
| |
|
|
|
|
| |
We get the count by dividing the offset by the stride.
|
|
|
|
|
| |
(import done by Ken but with author set to Jason because it's his
code that's being imported, so he deserves the credit)
|
|
|
|
|
| |
Target corresponds to a buffer, buffer only records one offset, not
multiple.
|
|
|
|
| |
now that it doesn't have genxml
|