Home
last modified time | relevance | path

Searched refs:nv30 (Results 1 – 25 of 44) sorted by relevance

12

/third_party/mesa3d/src/gallium/drivers/nouveau/nv30/
Dnv30_context.c41 struct nv30_context *nv30; in nv30_context_kick_notify() local
45 nv30 = container_of(push->user_priv, struct nv30_context, bufctx); in nv30_context_kick_notify()
46 screen = &nv30->screen->base; in nv30_context_kick_notify()
75 struct nv30_context *nv30 = nv30_context(pipe); in nv30_context_flush() local
76 struct nouveau_pushbuf *push = nv30->base.pushbuf; in nv30_context_flush()
79 nouveau_fence_ref(nv30->screen->base.fence.current, in nv30_context_flush()
84 nouveau_context_update_frame_stats(&nv30->base); in nv30_context_flush()
92 struct nv30_context *nv30 = nv30_context(&nv->pipe); in nv30_invalidate_resource_storage() local
96 for (i = 0; i < nv30->framebuffer.nr_cbufs; ++i) { in nv30_invalidate_resource_storage()
97 if (nv30->framebuffer.cbufs[i] && in nv30_invalidate_resource_storage()
[all …]
Dnv30_state_validate.c36 nv30_validate_fb(struct nv30_context *nv30) in nv30_validate_fb() argument
38 struct pipe_screen *pscreen = &nv30->screen->base.base; in nv30_validate_fb()
39 struct pipe_framebuffer_state *fb = &nv30->framebuffer; in nv30_validate_fb()
40 struct nouveau_pushbuf *push = nv30->base.pushbuf; in nv30_validate_fb()
41 struct nouveau_object *eng3d = nv30->screen->eng3d; in nv30_validate_fb()
48 nv30->state.rt_enable = (NV30_3D_RT_ENABLE_COLOR0 << fb->nr_cbufs) - 1; in nv30_validate_fb()
49 if (nv30->state.rt_enable > 1) in nv30_validate_fb()
50 nv30->state.rt_enable |= NV30_3D_RT_ENABLE_MRT; in nv30_validate_fb()
86 if (nv30->state.rt_enable) { in nv30_validate_fb()
116 if ((nv30->state.rt_enable & NV30_3D_RT_ENABLE_COLOR0) || fb->zsbuf) { in nv30_validate_fb()
[all …]
Dnv30_vbo.c39 nv30_emit_vtxattr(struct nv30_context *nv30, struct pipe_vertex_buffer *vb, in nv30_emit_vtxattr() argument
43 struct nouveau_pushbuf *push = nv30->base.pushbuf; in nv30_emit_vtxattr()
48 data = nouveau_resource_map_offset(&nv30->base, res, vb->buffer_offset + in nv30_emit_vtxattr()
83 nv30_vbuf_range(struct nv30_context *nv30, int vbi, in nv30_vbuf_range() argument
86 assert(nv30->vbo_max_index != ~0); in nv30_vbuf_range()
87 *base = nv30->vbo_min_index * nv30->vtxbuf[vbi].stride; in nv30_vbuf_range()
88 *size = (nv30->vbo_max_index - in nv30_vbuf_range()
89 nv30->vbo_min_index + 1) * nv30->vtxbuf[vbi].stride; in nv30_vbuf_range()
93 nv30_prevalidate_vbufs(struct nv30_context *nv30) in nv30_prevalidate_vbufs() argument
100 nv30->vbo_fifo = nv30->vbo_user = 0; in nv30_prevalidate_vbufs()
[all …]
Dnv40_verttex.c30 nv40_verttex_validate(struct nv30_context *nv30) in nv40_verttex_validate() argument
32 struct nouveau_pushbuf *push = nv30->base.pushbuf; in nv40_verttex_validate()
33 unsigned dirty = nv30->vertprog.dirty_samplers; in nv40_verttex_validate()
37 struct nv30_sampler_view *sv = (void *)nv30->fragprog.textures[unit]; in nv40_verttex_validate()
38 struct nv30_sampler_state *ss = nv30->fragprog.samplers[unit]; in nv40_verttex_validate()
48 nv30->vertprog.dirty_samplers = 0; in nv40_verttex_validate()
55 struct nv30_context *nv30 = nv30_context(pipe); in nv40_verttex_sampler_states_bind() local
59 nv30->vertprog.samplers[i] = hwcso[i]; in nv40_verttex_sampler_states_bind()
60 nv30->vertprog.dirty_samplers |= (1 << i); in nv40_verttex_sampler_states_bind()
63 for (; i < nv30->vertprog.num_samplers; i++) { in nv40_verttex_sampler_states_bind()
[all …]
Dnv30_fragtex.c34 nv30_fragtex_validate(struct nv30_context *nv30) in nv30_fragtex_validate() argument
36 struct pipe_screen *pscreen = &nv30->screen->base.base; in nv30_fragtex_validate()
37 struct nouveau_object *eng3d = nv30->screen->eng3d; in nv30_fragtex_validate()
38 struct nouveau_pushbuf *push = nv30->base.pushbuf; in nv30_fragtex_validate()
39 unsigned dirty = nv30->fragprog.dirty_samplers; in nv30_fragtex_validate()
43 struct nv30_sampler_view *sv = (void *)nv30->fragprog.textures[unit]; in nv30_fragtex_validate()
44 struct nv30_sampler_state *ss = nv30->fragprog.samplers[unit]; in nv30_fragtex_validate()
98 if (fmt->nv30 == NV30_3D_TEX_FORMAT_FORMAT_Z16) { in nv30_fragtex_validate()
104 if (fmt->nv30 == NV30_3D_TEX_FORMAT_FORMAT_Z24) { in nv30_fragtex_validate()
111 format |= fmt->nv30; in nv30_fragtex_validate()
[all …]
Dnv30_draw.c39 struct nv30_context *nv30; member
72 struct nv30_context *nv30 = r->nv30; in nv30_render_allocate_vertices() local
78 r->buffer = pipe_buffer_create(&nv30->screen->base.base, in nv30_render_allocate_vertices()
95 &r->nv30->base.pipe, r->buffer, in nv30_render_map_vertices()
109 pipe_buffer_unmap(&r->nv30->base.pipe, r->transfer); in nv30_render_unmap_vertices()
126 struct nv30_context *nv30 = r->nv30; in nv30_render_draw_elements() local
127 struct nouveau_pushbuf *push = nv30->screen->base.pushbuf; in nv30_render_draw_elements()
137 if (!nv30_state_validate(nv30, ~0, false)) in nv30_render_draw_elements()
169 struct nv30_context *nv30 = r->nv30; in nv30_render_draw_arrays() local
170 struct nouveau_pushbuf *push = nv30->base.pushbuf; in nv30_render_draw_arrays()
[all …]
Dnv30_state.c121 struct nv30_context *nv30 = nv30_context(pipe); in nv30_blend_state_bind() local
123 nv30->blend = hwcso; in nv30_blend_state_bind()
124 nv30->dirty |= NV30_NEW_BLEND; in nv30_blend_state_bind()
198 struct nv30_context *nv30 = nv30_context(pipe); in nv30_rasterizer_state_bind() local
200 nv30->rast = hwcso; in nv30_rasterizer_state_bind()
201 nv30->dirty |= NV30_NEW_RASTERIZER; in nv30_rasterizer_state_bind()
276 struct nv30_context *nv30 = nv30_context(pipe); in nv30_zsa_state_bind() local
278 nv30->zsa = hwcso; in nv30_zsa_state_bind()
279 nv30->dirty |= NV30_NEW_ZSA; in nv30_zsa_state_bind()
292 struct nv30_context *nv30 = nv30_context(pipe); in nv30_set_blend_color() local
[all …]
Dnv30_fragprog.c35 nv30_fragprog_upload(struct nv30_context *nv30) in nv30_fragprog_upload() argument
37 struct nouveau_context *nv = &nv30->base; in nv30_fragprog_upload()
38 struct nv30_fragprog *fp = nv30->fragprog.program; in nv30_fragprog_upload()
39 struct pipe_context *pipe = &nv30->base.pipe; in nv30_fragprog_upload()
66 nv30_fragprog_validate(struct nv30_context *nv30) in nv30_fragprog_validate() argument
68 struct nouveau_pushbuf *push = nv30->base.pushbuf; in nv30_fragprog_validate()
69 struct nouveau_object *eng3d = nv30->screen->eng3d; in nv30_fragprog_validate()
70 struct nv30_fragprog *fp = nv30->fragprog.program; in nv30_fragprog_validate()
85 if (nv30->fragprog.constbuf) { in nv30_fragprog_validate()
86 struct pipe_resource *constbuf = nv30->fragprog.constbuf; in nv30_fragprog_validate()
[all …]
Dnv30_miptree.c149 struct nv30_context *nv30 = nv30_context(pipe); in nv30_resource_copy_region() local
153 nouveau_copy_buffer(&nv30->base, in nv30_resource_copy_region()
164 nv30_transfer_rect(nv30, NEAREST, &src, &dst); in nv30_resource_copy_region()
168 nv30_resource_resolve(struct nv30_context *nv30, in nv30_resource_resolve() argument
212 nv30_transfer_rect(nv30, BILINEAR, &src, &dst); in nv30_resource_resolve()
221 struct nv30_context *nv30 = nv30_context(pipe); in nv30_blit() local
228 nv30_resource_resolve(nv30, blit_info); in nv30_blit()
241 if (!util_blitter_is_blit_supported(nv30->blitter, &info)) { in nv30_blit()
250 util_blitter_save_vertex_buffer_slot(nv30->blitter, nv30->vtxbuf); in nv30_blit()
251 util_blitter_save_vertex_elements(nv30->blitter, nv30->vertex); in nv30_blit()
[all …]
Dnv30_vertprog.c55 nv30_vertprog_validate(struct nv30_context *nv30) in nv30_vertprog_validate() argument
57 struct nouveau_pushbuf *push = nv30->base.pushbuf; in nv30_vertprog_validate()
58 struct nouveau_object *eng3d = nv30->screen->eng3d; in nv30_vertprog_validate()
59 struct nv30_vertprog *vp = nv30->vertprog.program; in nv30_vertprog_validate()
60 struct nv30_fragprog *fp = nv30->fragprog.program; in nv30_vertprog_validate()
65 if (nv30->dirty & NV30_NEW_FRAGPROG) { in nv30_vertprog_validate()
73 if (nv30->rast && nv30->rast->pipe.clip_plane_enable != vp->enabled_ucps) { in nv30_vertprog_validate()
74 vp->enabled_ucps = nv30->rast->pipe.clip_plane_enable; in nv30_vertprog_validate()
82 nv30->draw_flags |= NV30_NEW_VERTPROG; in nv30_vertprog_validate()
85 nv30->dirty |= NV30_NEW_VERTPROG; in nv30_vertprog_validate()
[all …]
Dnv30_transfer.c27 struct nv30_context *nv30, enum nv30_transfer_filter filter, \
57 if (nv30->screen->eng3d->oclass < NV40_3D_CLASS) in nv30_transfer_blit()
71 nv30_transfer_rect_vertprog(struct nv30_context *nv30) in nv30_transfer_rect_vertprog() argument
73 struct nouveau_heap *heap = nv30->screen->vp_exec_heap; in nv30_transfer_rect_vertprog()
76 vp = nv30->blit_vp; in nv30_transfer_rect_vertprog()
78 if (nouveau_heap_alloc(heap, 2, &nv30->blit_vp, &nv30->blit_vp)) { in nv30_transfer_rect_vertprog()
84 if (nouveau_heap_alloc(heap, 2, &nv30->blit_vp, &nv30->blit_vp)) in nv30_transfer_rect_vertprog()
88 vp = nv30->blit_vp; in nv30_transfer_rect_vertprog()
90 struct nouveau_pushbuf *push = nv30->base.pushbuf; in nv30_transfer_rect_vertprog()
112 nv30_transfer_rect_fragprog(struct nv30_context *nv30) in nv30_transfer_rect_fragprog() argument
[all …]
Dnv30_clear.c56 struct nv30_context *nv30 = nv30_context(pipe); in nv30_clear() local
57 struct nouveau_pushbuf *push = nv30->base.pushbuf; in nv30_clear()
58 struct pipe_framebuffer_state *fb = &nv30->framebuffer; in nv30_clear()
61 if (!nv30_state_validate(nv30, NV30_NEW_FRAMEBUFFER | NV30_NEW_SCISSOR, true)) in nv30_clear()
81 nv30->dirty |= NV30_NEW_ZSA; in nv30_clear()
86 if (nv30->screen->eng3d->oclass < NV40_3D_CLASS) { in nv30_clear()
98 nv30_state_release(nv30); in nv30_clear()
107 struct nv30_context *nv30 = nv30_context(pipe); in nv30_clear_render_target() local
110 struct nouveau_pushbuf *push = nv30->base.pushbuf; in nv30_clear_render_target()
111 struct nouveau_object *eng3d = nv30->screen->eng3d; in nv30_clear_render_target()
[all …]
Dnv30_push.c198 nv30_push_vbo(struct nv30_context *nv30, const struct pipe_draw_info *info, in nv30_push_vbo() argument
205 ctx.push = nv30->base.pushbuf; in nv30_push_vbo()
206 ctx.translate = nv30->vertex->translate; in nv30_push_vbo()
207 ctx.packet_vertex_limit = nv30->vertex->vtx_per_packet_max; in nv30_push_vbo()
208 ctx.vertex_words = nv30->vertex->vtx_size; in nv30_push_vbo()
210 for (i = 0; i < nv30->num_vtxbufs; ++i) { in nv30_push_vbo()
212 struct pipe_vertex_buffer *vb = &nv30->vtxbuf[i]; in nv30_push_vbo()
219 data = nouveau_resource_map_offset(&nv30->base, res, in nv30_push_vbo()
230 ctx.idxbuf = nouveau_resource_map_offset(&nv30->base, in nv30_push_vbo()
236 nv30_state_release(nv30); in nv30_push_vbo()
[all …]
Dnv30_context.h140 nv30_vbo_validate(struct nv30_context *nv30);
155 nv30_vertprog_validate(struct nv30_context *nv30);
161 nv30_fragprog_validate(struct nv30_context *nv30);
167 nv30_texture_validate(struct nv30_context *nv30);
173 nv30_fragtex_validate(struct nv30_context *nv30);
179 nv40_verttex_validate(struct nv30_context *nv30);
200 nv30_push_vbo(struct nv30_context *nv30, const struct pipe_draw_info *info,
212 nv30_state_validate(struct nv30_context *nv30, uint32_t mask, bool hwtnl);
215 nv30_state_release(struct nv30_context *nv30);
Dnv30_query.c152 struct nv30_context *nv30 = nv30_context(pipe); in nv30_query_begin() local
154 struct nouveau_pushbuf *push = nv30->base.pushbuf; in nv30_query_begin()
158 q->qo[0] = nv30_query_object_new(nv30->screen); in nv30_query_begin()
182 struct nv30_context *nv30 = nv30_context(pipe); in nv30_query_end() local
183 struct nv30_screen *screen = nv30->screen; in nv30_query_end()
185 struct nouveau_pushbuf *push = nv30->base.pushbuf; in nv30_query_end()
245 struct nv30_context *nv30 = nv30_context(pipe); in nv40_query_render_condition() local
247 struct nouveau_pushbuf *push = nv30->base.pushbuf; in nv40_query_render_condition()
249 nv30->render_cond_query = pq; in nv40_query_render_condition()
250 nv30->render_cond_mode = mode; in nv40_query_render_condition()
[all …]
Dnv30_resource.c37 struct nv30_context *nv30 = nv30_context(pipe); in nv30_memory_barrier() local
41 for (i = 0; i < nv30->num_vtxbufs; ++i) { in nv30_memory_barrier()
42 if (!nv30->vtxbuf[i].buffer.resource) in nv30_memory_barrier()
44 if (nv30->vtxbuf[i].buffer.resource->flags & PIPE_RESOURCE_FLAG_MAP_PERSISTENT) in nv30_memory_barrier()
45 nv30->base.vbo_dirty = true; in nv30_memory_barrier()
Dnv30_format.h17 unsigned nv30; member
/third_party/mesa3d/src/gallium/drivers/nouveau/
Dmeson.build46 'nv30/nv01_2d.xml.h',
47 'nv30/nv30-40_3d.xml.h',
48 'nv30/nv30_clear.c',
49 'nv30/nv30_context.c',
50 'nv30/nv30_context.h',
51 'nv30/nv30_draw.c',
52 'nv30/nv30_format.c',
53 'nv30/nv30_format.h',
54 'nv30/nv30_fragprog.c',
55 'nv30/nv30_fragtex.c',
[all …]
/third_party/mesa3d/docs/relnotes/
D10.5.7.rst58 - nv30: don't leak fragprog consts
59 - nv30: avoid leaking render state and draw shaders
60 - nv30: fix clip plane uploads and enable changes
61 - nv30/draw: avoid leaving stale pointers in draw state
62 - nv30/draw: draw expects constbuf size in bytes, not vec4 units
65 - nv30/draw: fix indexed draws with swtnl path and a resource index
67 - nv30/draw: only use the DMA1 object (GART) if the bo is not in VRAM
68 - nv30/draw: allocate vertex buffers in gart
69 - nv30/draw: switch varying hookup logic to know about texcoords
70 - nv30: falling back to draw path for edgeflag does no good
[all …]
D10.6.8.rst58 - nv30: Fix creation of scanout buffers
59 - nv30: Implement color resolve for msaa
60 - nv30: Fix max width / height checks in nv30 sifm code
61 - nv30: Disable msaa unless requested from the env by NV30_MAX_MSAA
D9.0.rst29 - Added new Gallium3D - nv30 driver
68 - Removed Gallium3D - nvfx driver (use nv30 instead)
D10.2.2.rst103 - nv30: plug some memory leaks on screen destroy and shader compile
104 - nv30: avoid dangling references to deleted contexts
105 - nv30: hack to avoid errors on unexpected color/zeta combinations
D9.1.7.rst110 - nv30: U8_USCALED only works for size 4
111 - nv30: remove no-longer-used formats from table
D11.0.0.rst52 - GL_EXT_depth_bounds_test on radeonsi, nv30, nv50, nvc0
57 - GL_OES_texture_float on all r300, r600, radeonsi, nv30, nv50, nvc0,
59 - GL_OES_texture_half_float on all r300, r600, radeonsi, nv30, nv50,
61 - GL_OES_texture_float_linear on all r300, r600, radeonsi, nv30, nv50,
63 - GL_OES_texture_half_float_linear on all r300, r600, radeonsi, nv30,
/third_party/mesa3d/docs/gallium/
Ddistro.rst21 nVidia nv30
24 Driver for the nVidia nv30 and nv40 families of GPUs.

12