Displaying 3 results from an estimated 3 matches for "set_index_buffer".
2013 Nov 12
0
"Funny" index buffer transfers (was: Bug 64323] New: Severe misrendering in Left 4 Dead 2)
...at bug 64323[1] over the weekend as to why this case works
under nvc0+ hardware and does not under nv50. Here are some of the
things I've noticed:
* nvc0 uses immediate(s) for VERTEX_BEGIN_GL/VERTEX_END_GL
* nvc0 is more consistent for doing pushbuffer space checks
* nvc0 uses dirty tracking in set_index_buffer()
* nvc0 uses "VERTEX_DATA push mode" over the FIFO for nv50
AFAICS the second and third one have no effect when ported to nv50. I'm
highly suspecting that "push mode" or actually the type of buffers used
will be the solution to this problem.
Would you have any input/ideas...
2014 Nov 27
0
[Mesa-dev] [RFC] tegra: Initial support
...= tegra_resource_unwrap(buf[i].buffer);
> +
> + buffers = buf;
> + }
> +
> + context->gpu->set_vertex_buffers(context->gpu, start_slot,
> + num_buffers, buffers);
> +}
> +
> +static void
> +tegra_set_index_buffer(struct pipe_context *pcontext,
> + const struct pipe_index_buffer *buffer)
> +{
> + struct tegra_context *context = to_tegra_context(pcontext);
> + struct pipe_index_buffer buf;
> +
> + if (buffer) {
> + memcpy(&buf, buff...
2014 Nov 27
7
[RFC] tegra: Initial support
...um_buffers * sizeof(struct pipe_vertex_buffer));
+
+ for (i = 0; i < num_buffers; i++)
+ buf[i].buffer = tegra_resource_unwrap(buf[i].buffer);
+
+ buffers = buf;
+ }
+
+ context->gpu->set_vertex_buffers(context->gpu, start_slot,
+ num_buffers, buffers);
+}
+
+static void
+tegra_set_index_buffer(struct pipe_context *pcontext,
+ const struct pipe_index_buffer *buffer)
+{
+ struct tegra_context *context = to_tegra_context(pcontext);
+ struct pipe_index_buffer buf;
+
+ if (buffer) {
+ memcpy(&buf, buffer, sizeof(buf));
+ buf.buffer = tegra_resource_unwrap(buf.buffer);
+ buffer...