* SOFTWARE.
*/
+#include "agx_compile.h"
#include "compiler/nir/nir_builder.h"
#include "compiler/nir_types.h"
#include "util/glheader.h"
#include "util/u_debug.h"
#include "agx_builder.h"
-#include "agx_compile.h"
#include "agx_compiler.h"
#include "agx_internal_formats.h"
return agx_asr_to(b, dst, s0, s1);
case nir_op_extr_agx:
- return agx_extr_to(b, dst, s0, s1, s2, nir_src_as_uint(instr->src[3].src));
+ return agx_extr_to(b, dst, s0, s1, s2,
+ nir_src_as_uint(instr->src[3].src));
case nir_op_bcsel:
return agx_icmpsel_to(b, dst, s0, i0, s2, s1, AGX_ICOND_UEQ);
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
* USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
+#include "agx_state.h"
#include <errno.h>
#include <stdio.h>
#include "asahi/compiler/agx_compile.h"
#include "util/u_prim.h"
#include "util/u_resource.h"
#include "util/u_transfer.h"
-#include "agx_state.h"
#include "agx_disk_cache.h"
static struct pipe_stream_output_target *
}
static void
-agx_set_shader_images(
- struct pipe_context *pctx,
- enum pipe_shader_type shader,
- unsigned start_slot, unsigned count, unsigned unbind_num_trailing_slots,
- const struct pipe_image_view *iviews)
+agx_set_shader_images(struct pipe_context *pctx, enum pipe_shader_type shader,
+ unsigned start_slot, unsigned count,
+ unsigned unbind_num_trailing_slots,
+ const struct pipe_image_view *iviews)
{
struct agx_context *ctx = agx_context(pctx);
ctx->stage[shader].dirty = ~0;
/* Unbind start_slot...start_slot+count */
if (!iviews) {
- for (int i = start_slot; i < start_slot + count + unbind_num_trailing_slots; i++) {
+ for (int i = start_slot;
+ i < start_slot + count + unbind_num_trailing_slots; i++) {
pipe_resource_reference(&ctx->stage[shader].images[i].resource, NULL);
}
ctx->stage[shader].image_mask &= ~BITFIELD_BIT(start_slot + i);
if (!image->resource) {
- util_copy_image_view(&ctx->stage[shader].images[start_slot+i], NULL);
+ util_copy_image_view(&ctx->stage[shader].images[start_slot + i], NULL);
continue;
}
/* FIXME: Decompress here once we have texture compression */
- util_copy_image_view(&ctx->stage[shader].images[start_slot+i], image);
+ util_copy_image_view(&ctx->stage[shader].images[start_slot + i], image);
}
/* Unbind start_slot+count...start_slot+count+unbind_num_trailing_slots */
for (int i = 0; i < unbind_num_trailing_slots; i++) {
ctx->stage[shader].image_mask &= ~BITFIELD_BIT(start_slot + count + i);
- util_copy_image_view(&ctx->stage[shader].images[start_slot+count+i], NULL);
+ util_copy_image_view(&ctx->stage[shader].images[start_slot + count + i],
+ NULL);
}
}
static void
-agx_set_shader_buffers(
- struct pipe_context *pctx,
- enum pipe_shader_type shader,
- unsigned start, unsigned count,
- const struct pipe_shader_buffer *buffers,
- unsigned writable_bitmask)
+agx_set_shader_buffers(struct pipe_context *pctx, enum pipe_shader_type shader,
+ unsigned start, unsigned count,
+ const struct pipe_shader_buffer *buffers,
+ unsigned writable_bitmask)
{
struct agx_context *ctx = agx_context(pctx);
util_set_shader_buffers_mask(ctx->stage[shader].ssbo,
- &ctx->stage[shader].ssbo_mask,
- buffers, start, count);
+ &ctx->stage[shader].ssbo_mask, buffers, start,
+ count);
ctx->stage[shader].dirty = ~0;
}
}
/* No compute variants */
-static uint32_t asahi_cs_shader_key_hash(const void *key)
+static uint32_t
+asahi_cs_shader_key_hash(const void *key)
{
return 0;
}
-static bool asahi_cs_shader_key_equal(const void *a, const void *b)
+static bool
+asahi_cs_shader_key_equal(const void *a, const void *b)
{
return true;
}
so->variants = _mesa_hash_table_create(NULL, asahi_cs_shader_key_hash,
asahi_cs_shader_key_equal);
- union asahi_shader_key key = { 0 };
+ union asahi_shader_key key = {0};
assert(cso->ir_type == PIPE_SHADER_IR_NIR && "TGSI kernels unsupported");
nir_shader *nir = nir_shader_clone(NULL, cso->prog);
*/
#include <errno.h>
-#include <unistd.h>
#include <fcntl.h>
+#include <unistd.h>
#include "util/format/u_format.h"
#include "util/os_file.h"
#include "util/u_memory.h"
#include "util/u_screen.h"
+#include "asahi/agx_public.h"
#include "drm-uapi/drm.h"
#include "renderonly/renderonly.h"
#include "asahi_drm_public.h"
-#include "asahi/agx_public.h"
static struct pipe_screen *
asahi_screen_create(int fd, const struct pipe_screen_config *config,
struct pipe_screen *
asahi_drm_screen_create(int fd)
{
- return u_pipe_screen_lookup_or_create(os_dupfd_cloexec(fd), NULL,
- NULL, asahi_screen_create);
+ return u_pipe_screen_lookup_or_create(os_dupfd_cloexec(fd), NULL, NULL,
+ asahi_screen_create);
}
struct pipe_screen *
asahi_drm_screen_create_renderonly(struct renderonly *ro)
{
- return u_pipe_screen_lookup_or_create(os_dupfd_cloexec(ro->gpu_fd), NULL,
- ro, asahi_screen_create);
+ return u_pipe_screen_lookup_or_create(os_dupfd_cloexec(ro->gpu_fd), NULL, ro,
+ asahi_screen_create);
}