Lines Matching defs:stream

36 int sna_static_stream_init(struct sna_static_stream *stream)
38 stream->used = 0;
39 stream->size = 64*1024;
41 stream->data = malloc(stream->size);
42 return stream->data != NULL;
45 static uint32_t sna_static_stream_alloc(struct sna_static_stream *stream,
48 uint32_t offset = ALIGN(stream->used, align);
51 if (size > stream->size) {
53 stream->size *= 2;
54 while (stream->size < size);
56 stream->data = realloc(stream->data, stream->size);
59 stream->used = size;
63 uint32_t sna_static_stream_add(struct sna_static_stream *stream,
66 uint32_t offset = sna_static_stream_alloc(stream, len, align);
67 memcpy(stream->data + offset, data, len);
71 void *sna_static_stream_map(struct sna_static_stream *stream,
74 uint32_t offset = sna_static_stream_alloc(stream, len, align);
75 return memset(stream->data + offset, 0, len);
78 uint32_t sna_static_stream_offsetof(struct sna_static_stream *stream, void *ptr)
80 return (uint8_t *)ptr - stream->data;
84 struct sna_static_stream *stream)
88 DBG(("uploaded %d bytes of static state\n", stream->used));
90 bo = kgem_create_linear(&sna->kgem, stream->used, 0);
91 if (bo && !kgem_bo_write(&sna->kgem, bo, stream->data, stream->used)) {
96 free(stream->data);
103 struct sna_static_stream *stream,
109 sna_static_stream_map(stream,
113 stream->used -= 64*sizeof(uint32_t);
119 stream->used -= 64*sizeof(uint32_t) - p.nr_insn*sizeof(struct brw_instruction);
120 return sna_static_stream_offsetof(stream, p.store);
125 struct sna_static_stream *stream,
132 sna_static_stream_map(stream,
136 stream->used -= 256*sizeof(uint32_t);
142 stream->used -= 256*sizeof(uint32_t) - p.nr_insn*sizeof(struct brw_instruction);
143 return sna_static_stream_offsetof(stream, p.store);