/aosp_15_r20/external/mesa3d/src/gallium/drivers/nouveau/nv50/ |
H A D | nv50_context.c | 27 #include "nv50/nv50_context.h" 28 #include "nv50/nv50_screen.h" 29 #include "nv50/nv50_resource.h" 60 struct nv50_context *nv50 = nv50_context(pipe); in nv50_memory_barrier() local 61 struct nouveau_pushbuf *push = nv50->base.pushbuf; in nv50_memory_barrier() 65 for (i = 0; i < nv50->num_vtxbufs; ++i) { in nv50_memory_barrier() 66 if (!nv50->vtxbuf[i].buffer.resource && !nv50->vtxbuf[i].is_user_buffer) in nv50_memory_barrier() 68 if (nv50->vtxbuf[i].buffer.resource->flags & PIPE_RESOURCE_FLAG_MAP_PERSISTENT) in nv50_memory_barrier() 69 nv50->base.vbo_dirty = true; in nv50_memory_barrier() 72 for (s = 0; s < NV50_MAX_3D_SHADER_STAGES && !nv50->cb_dirty; ++s) { in nv50_memory_barrier() [all …]
|
H A D | nv50_state_validate.c | 4 #include "nv50/nv50_context.h" 20 nv50_validate_fb(struct nv50_context *nv50) in nv50_validate_fb() argument 22 struct nouveau_pushbuf *push = nv50->base.pushbuf; in nv50_validate_fb() 23 struct pipe_framebuffer_state *fb = &nv50->framebuffer; in nv50_validate_fb() 28 nouveau_bufctx_reset(nv50->bufctx_3d, NV50_BIND_3D_FB); in nv50_validate_fb() 71 nv50->rt_array_mode = array_mode | array_size; in nv50_validate_fb() 88 nv50->state.rt_serialize = true; in nv50_validate_fb() 93 BCTX_REFN(nv50->bufctx_3d, 3D_FB, &mt->base, WR); in nv50_validate_fb() 117 nv50->state.rt_serialize = true; in nv50_validate_fb() 121 BCTX_REFN(nv50->bufctx_3d, 3D_FB, &mt->base, WR); in nv50_validate_fb() [all …]
|
H A D | nv50_vbo.c | 31 #include "nv50/nv50_context.h" 32 #include "nv50/nv50_query_hw.h" 33 #include "nv50/nv50_resource.h" 35 #include "nv50/nv50_3d.xml.h" 145 nv50_emit_vtxattr(struct nv50_context *nv50, struct pipe_vertex_buffer *vb, in nv50_emit_vtxattr() argument 148 struct nouveau_pushbuf *push = nv50->base.pushbuf; in nv50_emit_vtxattr() 177 if (attr == nv50->vertprog->vp.edgeflag) { in nv50_emit_vtxattr() 191 nv50_user_vbuf_range(struct nv50_context *nv50, unsigned vbi, in nv50_user_vbuf_range() argument 195 if (unlikely(nv50->vertex->instance_bufs & (1 << vbi))) { in nv50_user_vbuf_range() 196 const uint32_t div = nv50->vertex->min_instance_div[vbi]; in nv50_user_vbuf_range() [all …]
|
H A D | nv50_state.c | 33 #include "nv50/nv50_stateobj.h" 34 #include "nv50/nv50_context.h" 35 #include "nv50/nv50_query_hw.h" 37 #include "nv50/nv50_3d.xml.h" 38 #include "nv50/g80_texture.xml.h" 211 struct nv50_context *nv50 = nv50_context(pipe); in nv50_blend_state_bind() local 213 nv50->blend = hwcso; in nv50_blend_state_bind() 214 nv50->dirty_3d |= NV50_NEW_3D_BLEND; in nv50_blend_state_bind() 348 struct nv50_context *nv50 = nv50_context(pipe); in nv50_rasterizer_state_bind() local 350 nv50->rast = hwcso; in nv50_rasterizer_state_bind() [all …]
|
H A D | nv50_shader_state.c | 29 #include "nv50/nv50_context.h" 30 #include "nv50/nv50_query_hw.h" 32 #include "nv50/nv50_compute.xml.h" 35 nv50_constbufs_validate(struct nv50_context *nv50) in nv50_constbufs_validate() argument 37 struct nouveau_pushbuf *push = nv50->base.pushbuf; in nv50_constbufs_validate() 51 while (nv50->constbuf_dirty[s]) { in nv50_constbufs_validate() 52 const unsigned i = (unsigned)ffs(nv50->constbuf_dirty[s]) - 1; in nv50_constbufs_validate() 55 nv50->constbuf_dirty[s] &= ~(1 << i); in nv50_constbufs_validate() 57 if (nv50->constbuf[s][i].user) { in nv50_constbufs_validate() 60 unsigned words = nv50->constbuf[s][0].size / 4; in nv50_constbufs_validate() [all …]
|
H A D | nv50_surface.c | 40 #include "nv50/nv50_context.h" 41 #include "nv50/nv50_resource.h" 43 #include "nv50/g80_defs.xml.h" 44 #include "nv50/g80_texture.xml.h" 54 #include "nv50/nv50_blit.h" 205 struct nv50_context *nv50 = nv50_context(pipe); in nv50_resource_copy_region() local 211 nouveau_copy_buffer(&nv50->base, in nv50_resource_copy_region() 241 nv50_m2mf_transfer_rect(nv50, &drect, &srect, nx, ny); in nv50_resource_copy_region() 260 BCTX_REFN(nv50->bufctx, 2D, nv04_resource(src), RD); in nv50_resource_copy_region() 261 BCTX_REFN(nv50->bufctx, 2D, nv04_resource(dst), WR); in nv50_resource_copy_region() [all …]
|
H A D | nv50_compute.c | 28 #include "nv50/nv50_context.h" 29 #include "nv50/nv50_compute.xml.h" 169 nv50_compute_validate_samplers(struct nv50_context *nv50) in nv50_compute_validate_samplers() argument 171 bool need_flush = nv50_validate_tsc(nv50, NV50_SHADER_STAGE_COMPUTE); in nv50_compute_validate_samplers() 173 BEGIN_NV04(nv50->base.pushbuf, NV50_CP(TSC_FLUSH), 1); in nv50_compute_validate_samplers() 174 PUSH_DATA (nv50->base.pushbuf, 0); in nv50_compute_validate_samplers() 178 nv50->dirty_3d |= NV50_NEW_3D_SAMPLERS; in nv50_compute_validate_samplers() 182 nv50_compute_validate_textures(struct nv50_context *nv50) in nv50_compute_validate_textures() argument 184 bool need_flush = nv50_validate_tic(nv50, NV50_SHADER_STAGE_COMPUTE); in nv50_compute_validate_textures() 186 BEGIN_NV04(nv50->base.pushbuf, NV50_CP(TIC_FLUSH), 1); in nv50_compute_validate_textures() [all …]
|
H A D | nv50_tex.c | 23 #include "nv50/nv50_context.h" 24 #include "nv50/nv50_resource.h" 25 #include "nv50/g80_texture.xml.h" 26 #include "nv50/g80_defs.xml.h" 223 nv50_update_tic(struct nv50_context *nv50, struct nv50_tic_entry *tic, in nv50_update_tic() argument 234 nv50_screen_tic_unlock(nv50->screen, tic); in nv50_update_tic() 242 nv50_validate_tic(struct nv50_context *nv50, int s) in nv50_validate_tic() argument 244 struct nouveau_pushbuf *push = nv50->base.pushbuf; in nv50_validate_tic() 245 struct nouveau_bo *txc = nv50->screen->txc; in nv50_validate_tic() 250 assert(nv50->num_textures[s] <= PIPE_MAX_SAMPLERS); in nv50_validate_tic() [all …]
|
H A D | nv50_query_hw.c | 26 #include "nv50/nv50_context.h" 27 #include "nv50/nv50_query_hw.h" 28 #include "nv50/nv50_query_hw_metric.h" 29 #include "nv50/nv50_query_hw_sm.h" 42 nv50_hw_query_allocate(struct nv50_context *nv50, struct nv50_query *q, in nv50_hw_query_allocate() argument 45 struct nv50_screen *screen = nv50->screen; in nv50_hw_query_allocate() 55 nouveau_fence_work(nv50->base.fence, in nv50_hw_query_allocate() 66 ret = BO_MAP(&screen->base, hq->bo, 0, nv50->base.client); in nv50_hw_query_allocate() 68 nv50_hw_query_allocate(nv50, q, 0); in nv50_hw_query_allocate() 108 nv50_hw_destroy_query(struct nv50_context *nv50, struct nv50_query *q) in nv50_hw_destroy_query() argument [all …]
|
H A D | nv50_query_hw_sm.c | 25 #include "nv50/nv50_context.h" 26 #include "nv50/nv50_query_hw_sm.h" 29 #include "nv50/nv50_compute.xml.h" 146 nv50_hw_sm_query_get_cfg(struct nv50_context *nv50, struct nv50_hw_query *hq) in nv50_hw_sm_query_get_cfg() argument 153 nv50_hw_sm_destroy_query(struct nv50_context *nv50, struct nv50_hw_query *hq) in nv50_hw_sm_destroy_query() argument 156 nv50_hw_query_allocate(nv50, q, 0); in nv50_hw_sm_destroy_query() 162 nv50_hw_sm_begin_query(struct nv50_context *nv50, struct nv50_hw_query *hq) in nv50_hw_sm_begin_query() argument 164 struct nv50_screen *screen = nv50->screen; in nv50_hw_sm_begin_query() 165 struct nouveau_pushbuf *push = nv50->base.pushbuf; in nv50_hw_sm_begin_query() 171 cfg = nv50_hw_sm_query_get_cfg(nv50, hq); in nv50_hw_sm_begin_query() [all …]
|
H A D | nv50_push.c | 8 #include "nv50/nv50_context.h" 9 #include "nv50/nv50_resource.h" 11 #include "nv50/nv50_3d.xml.h" 241 nv50_push_vbo(struct nv50_context *nv50, const struct pipe_draw_info *info, in nv50_push_vbo() argument 251 ctx.push = nv50->base.pushbuf; in nv50_push_vbo() 252 ctx.translate = nv50->vertex->translate; in nv50_push_vbo() 254 ctx.need_vertex_id = nv50->screen->base.class_3d >= NV84_3D_CLASS && in nv50_push_vbo() 255 nv50->vertprog->vp.need_vertex_id && (nv50->vertex->num_elements < 32); in nv50_push_vbo() 261 ctx.need_vertex_id ? 1 : nv50->vertex->packet_vertex_limit; in nv50_push_vbo() 262 ctx.vertex_words = nv50->vertex->vertex_size; in nv50_push_vbo() [all …]
|
H A D | nv50_transfer.c | 4 #include "nv50/nv50_context.h" 6 #include "nv50/g80_defs.xml.h" 58 nv50_2d_transfer_rect(struct nv50_context *nv50, in nv50_2d_transfer_rect() argument 63 struct nouveau_pushbuf *push = nv50->base.pushbuf; in nv50_2d_transfer_rect() 64 struct nouveau_bufctx *bctx = nv50->bufctx; in nv50_2d_transfer_rect() 164 nv50_m2mf_transfer_rect(struct nv50_context *nv50, in nv50_m2mf_transfer_rect() argument 169 struct nouveau_pushbuf *push = nv50->base.pushbuf; in nv50_m2mf_transfer_rect() 170 struct nouveau_bufctx *bctx = nv50->bufctx; in nv50_m2mf_transfer_rect() 193 nv50_2d_transfer_rect(nv50, dst, src, nblocksx, nblocksy); in nv50_m2mf_transfer_rect() 279 struct nv50_context *nv50 = nv50_context(&nv->pipe); in nv50_sifc_linear_u8() local [all …]
|
H A D | nv50_query_hw_metric.c | 23 #include "nv50/nv50_context.h" 24 #include "nv50/nv50_query_hw_metric.h" 25 #include "nv50/nv50_query_hw_sm.h" 59 nv50_hw_metric_query_get_cfg(struct nv50_context *nv50, in nv50_hw_metric_query_get_cfg() argument 67 nv50_hw_metric_destroy_query(struct nv50_context *nv50, in nv50_hw_metric_destroy_query() argument 75 hmq->queries[i]->funcs->destroy_query(nv50, hmq->queries[i]); in nv50_hw_metric_destroy_query() 80 nv50_hw_metric_begin_query(struct nv50_context *nv50, struct nv50_hw_query *hq) in nv50_hw_metric_begin_query() argument 87 ret = hmq->queries[i]->funcs->begin_query(nv50, hmq->queries[i]); in nv50_hw_metric_begin_query() 95 nv50_hw_metric_end_query(struct nv50_context *nv50, struct nv50_hw_query *hq) in nv50_hw_metric_end_query() argument 101 hmq->queries[i]->funcs->end_query(nv50, hmq->queries[i]); in nv50_hw_metric_end_query() [all …]
|
H A D | nv50_query.c | 27 #include "nv50/nv50_context.h" 28 #include "nv50/nv50_query.h" 29 #include "nv50/nv50_query_hw.h" 30 #include "nv50/nv50_query_hw_metric.h" 31 #include "nv50/nv50_query_hw_sm.h" 36 struct nv50_context *nv50 = nv50_context(pipe); in nv50_create_query() local 39 q = nv50_hw_create_query(nv50, type, index); in nv50_create_query() 78 struct nv50_context *nv50 = nv50_context(pipe); in nv50_render_condition() local 79 struct nouveau_pushbuf *push = nv50->base.pushbuf; in nv50_render_condition() 116 nv50->cond_query = pq; in nv50_render_condition() [all …]
|
H A D | nv50_context.h | 13 #include "nv50/nv50_winsys.h" 14 #include "nv50/nv50_stateobj.h" 15 #include "nv50/nv50_screen.h" 16 #include "nv50/nv50_program.h" 17 #include "nv50/nv50_resource.h" 18 #include "nv50/nv50_transfer.h" 19 #include "nv50/nv50_query.h" 25 #include "nv50/nv50_3ddefs.xml.h" 26 #include "nv50/nv50_3d.xml.h" 27 #include "nv50/nv50_2d.xml.h" [all …]
|
H A D | nv50_program.c | 27 #include "nv50/nv50_context.h" 28 #include "nv50/nv50_program.h" 459 nv50_program_upload_code(struct nv50_context *nv50, struct nv50_program *prog) in nv50_program_upload_code() argument 467 case PIPE_SHADER_VERTEX: heap = nv50->screen->vp_code_heap; break; in nv50_program_upload_code() 468 case PIPE_SHADER_GEOMETRY: heap = nv50->screen->gp_code_heap; break; in nv50_program_upload_code() 469 case PIPE_SHADER_FRAGMENT: heap = nv50->screen->fp_code_heap; break; in nv50_program_upload_code() 470 case PIPE_SHADER_COMPUTE: heap = nv50->screen->fp_code_heap; break; in nv50_program_upload_code() 476 simple_mtx_assert_locked(&nv50->screen->state_lock); in nv50_program_upload_code() 503 ret = nv50_tls_realloc(nv50->screen, prog->tls_space); in nv50_program_upload_code() 509 nv50->state.new_tls_space = true; in nv50_program_upload_code() [all …]
|
H A D | nv84_video.c | 32 #include "nv50/nv84_video.h" 271 struct nv50_context *nv50 = (struct nv50_context *)context; in nv84_create_decoder() local 272 struct nouveau_screen *screen = &nv50->screen->base; in nv84_create_decoder() 339 ret = nouveau_pushbuf_create(screen, &nv50->base, dec->client, dec->bsp_channel, in nv84_create_decoder() 354 ret = nouveau_pushbuf_create(screen, &nv50->base, dec->client, dec->vp_channel, in nv84_create_decoder() 497 PUSH_SPACE(nv50->base.pushbuf, 5); in nv84_create_decoder() 498 PUSH_REF1(nv50->base.pushbuf, dec->fence, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR); in nv84_create_decoder() 502 BEGIN_NV04(nv50->base.pushbuf, NV50_3D(QUERY_ADDRESS_HIGH), 4); in nv84_create_decoder() 503 PUSH_DATAh(nv50->base.pushbuf, dec->fence->offset); in nv84_create_decoder() 504 PUSH_DATA (nv50->base.pushbuf, dec->fence->offset); in nv84_create_decoder() [all …]
|
/aosp_15_r20/external/mesa3d/src/gallium/drivers/nouveau/ |
H A D | meson.build | 61 'nv50/g80_defs.xml.h', 62 'nv50/g80_texture.xml.h', 63 'nv50/nv50_2d.xml.h', 64 'nv50/nv50_3ddefs.xml.h', 65 'nv50/nv50_3d.xml.h', 66 'nv50/nv50_blit.h', 67 'nv50/nv50_compute.c', 68 'nv50/nv50_compute.xml.h', 69 'nv50/nv50_context.c', 70 'nv50/nv50_context.h', [all …]
|
/aosp_15_r20/external/mesa3d/docs/ |
H A D | features.txt | 39 GL 3.0, GLSL 1.30 --- all DONE: freedreno, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, z… 72 GL 3.1, GLSL 1.40 --- all DONE: freedreno, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, z… 85 GL 3.2, GLSL 1.50 --- all DONE: freedreno, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, z… 100 GL 3.3, GLSL 3.30 --- all DONE: freedreno, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, z… 116 …GL_ARB_draw_buffers_blend DONE (freedreno, nv50, softpipe, panfrost, v… 132 …GL_ARB_sample_shading DONE (freedreno/a6xx, nv50, panfrost, crocus… 133 …GL_ARB_shader_subroutine DONE (freedreno, nv50, softpipe, crocus/gen6… 136 …GL_ARB_texture_cube_map_array DONE (freedreno/a4xx+, nv50, softpipe, v3d, … 137 …GL_ARB_texture_gather DONE (freedreno, nv50, softpipe, v3d, panfro… 138 …GL_ARB_texture_query_lod DONE (freedreno, nv50, softpipe, v3d, panfro… [all …]
|
/aosp_15_r20/external/mesa3d/docs/relnotes/ |
H A D | 7.10.rst | 204 - nv50: DST 205 - nv50: DPH 206 - nv50: silence some unknown get_param warnings 220 - nv50: use unsigned int for bitfields to silence warnings 719 - nv50: import new compiler 721 - nv50: introduce the big formats table 722 - nv50: don't produce MOV immediate to output reg in store opt 723 - nv50: change back accidentally swapped UNORM,SNORM vertex type 724 - nv50: add/fix some license headers 725 - nv50: simple reload elimination and local CSE [all …]
|
H A D | 11.0.8.rst | 96 - nv50/ir: deal with loops with no breaks 97 - nv50/ir: the mad source might not have a defining instruction 98 - nv50/ir: fix instruction permutation logic 99 - nv50/ir: don't forget to mark flagsDef on cvt in txb lowering 100 - nv50/ir: fix DCE to not generate 96-bit loads 101 - nv50/ir: avoid looking at uninitialized srcMods entries 105 - nv50/ir: fix cutoff for using r63 vs r127 when replacing zero 106 - nv50/ir: can't have predication and immediates 157 - nv50,nvc0: fix use-after-free when vertex buffers are unbound
|
H A D | 10.2.rst | 29 - GL_ARB_buffer_storage on i965, nv30, nv50, nvc0, r300, r600, and 32 - GL_ARB_sample_shading on nv50 (GT21x only), nvc0 36 - GL_ARB_texture_cube_map_array on nv50 (GT21x only) 37 - GL_ARB_texture_gather on nv50 (GT21x only), nvc0 38 - GL_ARB_texture_query_lod on nv50 (GT21x only), nvc0 40 - GL_ARB_vertex_type_10f_11f_11f_rev on nv50, nvc0, radeonsi 41 - GL_ARB_viewport_array on nv50, r600
|
H A D | 11.1.1.rst | 88 - nv50/ir: can't have predication and immediates 93 - nv50/ir: float(s32 & 0xff) = float(u8), not s8 94 - nv50,nvc0: make sure there's pushbuf space and that we ref the bo 96 - nv50,nvc0: fix crash when increasing bsp bo size for h264 151 - nv50,nvc0: fix use-after-free when vertex buffers are unbound 162 - nv50,nvc0: free memory allocated by performance metrics 163 - nv50: free memory allocated by the prog which reads MP perf counters
|
H A D | 11.1.3.rst | 128 - cherry-ignore: do not pick nv50/ir commit 153 - nv50/ir: fix quadop emission in the presence of predication 159 - nv50,nvc0: bump minimum texture buffer offset alignment 164 - nv50: reset TFB bufctx when we no longer hold a reference to the 166 - nv50/ir: force-enable derivatives on TXD ops 168 - nv50/ir: fix indirect texturing for non-array textures on nvc0 172 - nv50/ir: we can't load local memory directly into an output
|
/aosp_15_r20/external/igt-gpu-tools/tests/ |
H A D | prime_nv_pcopy.c | 99 cfg.nv50.memtype = memtype; in nv_bo_alloc() 100 cfg.nv50.tile_mode = tile_mode; in nv_bo_alloc() 107 (*bo)->flags, (*bo)->config.nv50.memtype, in nv_bo_alloc() 108 (*bo)->config.nv50.tile_mode); in nv_bo_alloc() 111 (*bo)->config.nv50.tile_mode, tile_mode); in nv_bo_alloc() 113 (*bo)->config.nv50.tile_mode = tile_mode; in nv_bo_alloc() 122 (*bo)->flags, (*bo)->config.nv50.memtype, in nv_bo_alloc() 123 (*bo)->config.nv50.tile_mode); in nv_bo_alloc() 124 (*bo)->config.nv50.memtype = memtype; in nv_bo_alloc() 125 (*bo)->config.nv50.tile_mode = tile_mode; in nv_bo_alloc() [all …]
|