Skip to content

Commit 275ec39

Browse files
committed
(agp) fix missing symbols in stub build
Reaching the point where it is time to support more agp backends, primarily for network rendering - but with that software only builds and possibly vulkan also make sense. For this the plan is to flesh out the 'stub' agp platform so that it can build frames of: [shader updates] -> alloc, free, compile, ... [storage updates] -> resize, upload, dirty, ... [rendertarget updates] -> dst storage, projection, ... [rendertarget draw-list] -> [shader + uniforms, vertices, txcos] with an output packing format that can be streamed. Then create an unpacker that works similarly (but calls into agp).
1 parent d547c55 commit 275ec39

File tree

1 file changed

+82
-19
lines changed

1 file changed

+82
-19
lines changed

src/platform/agp/stub.c

Lines changed: 82 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include <stdbool.h>
1212
#include <assert.h>
1313

14+
#include "../platform_types.h"
1415
#include "../video_platform.h"
1516
#include "../platform.h"
1617

@@ -34,7 +35,7 @@ const char* agp_shader_language()
3435
return "STUB";
3536
}
3637

37-
int agp_shader_envv(enum arcan_shader_envts slot, void* value, size_t size)
38+
int agp_shader_envv(enum agp_shader_envts slot, void* value, size_t size)
3839
{
3940
return 1;
4041
}
@@ -72,11 +73,11 @@ struct stream_meta agp_stream_prepare(struct agp_vstore* s,
7273
return mout;
7374
}
7475

75-
void agp_stream_release(struct agp_vstore* s)
76+
void agp_stream_release(struct agp_vstore* s, struct stream_meta meta)
7677
{
7778
}
7879

79-
void agp_stream_commit(struct agp_vstore* s)
80+
void agp_stream_commit(struct agp_vstore* s, struct stream_meta meta)
8081
{
8182
}
8283

@@ -98,21 +99,21 @@ void agp_empty_vstore(struct agp_vstore* vs, size_t w, size_t h)
9899
{
99100
}
100101

101-
void agp_setup_rendertarget(struct rendertarget* dst,
102+
struct agp_rendertarget* agp_setup_rendertarget(
102103
struct agp_vstore* vstore, enum rendertarget_mode m)
103104
{
104-
dst->store = NULL;
105+
return NULL;
105106
}
106107

107108
void agp_init()
108109
{
109110
}
110111

111-
void agp_drop_rendertarget(struct rendertarget* tgt)
112+
void agp_drop_rendertarget(struct agp_rendertarget* tgt)
112113
{
113114
}
114115

115-
void agp_activate_rendertarget(struct rendertarget* tgt)
116+
void agp_activate_rendertarget(struct agp_rendertarget* tgt)
116117
{
117118
}
118119

@@ -128,8 +129,8 @@ void agp_null_vstore(struct agp_vstore* store)
128129
{
129130
}
130131

131-
void agp_resize_rendertarget(struct rendertarget* tgt,
132-
size_t neww, size_t newh)
132+
void agp_resize_rendertarget(
133+
struct agp_rendertarget* tgt, size_t neww, size_t newh)
133134
{
134135
}
135136

@@ -158,8 +159,8 @@ void agp_blendstate(enum arcan_blendfunc mdoe)
158159
{
159160
}
160161

161-
void agp_draw_vobj(float x1, float y1,
162-
float x2, float y2, float* txcos, float* model)
162+
void agp_draw_vobj(
163+
float x1, float y1, float x2, float y2, const float* txcos, const float* m)
163164
{
164165
}
165166

@@ -183,20 +184,20 @@ void agp_save_output(size_t w, size_t h, av_pixel* dst, size_t dsz)
183184
{
184185
}
185186

186-
int agp_shader_activate(arcan_shader_id shid)
187+
int agp_shader_activate(agp_shader_id shid)
187188
{
188189
return shid == 1;
189190
}
190191

191-
const char* agp_shader_lookuptag(arcan_shader_id id)
192+
const char* agp_shader_lookuptag(agp_shader_id id)
192193
{
193194
if (id != 1)
194195
return NULL;
195196

196197
return "tag";
197198
}
198199

199-
bool agp_shader_lookupprgs(arcan_shader_id id,
200+
bool agp_shader_lookupprgs(agp_shader_id id,
200201
const char** vert, const char** frag)
201202
{
202203
if (id != 1)
@@ -208,7 +209,7 @@ bool agp_shader_lookupprgs(arcan_shader_id id,
208209
return true;
209210
}
210211

211-
bool agp_shader_valid(arcan_shader_id id)
212+
bool agp_shader_valid(agp_shader_id id)
212213
{
213214
return 1 == id;
214215
}
@@ -219,8 +220,64 @@ agp_shader_id arcan_shader_build(const char* tag, const char* geom,
219220
return (vert && frag && tag && geom) ? 1 : 0;
220221
}
221222

222-
void agp_shader_forceunif(const char* label,
223-
enum shdrutype type, void* val, bool persist)
223+
void agp_shader_forceunif(const char* label, enum shdrutype type, void* val)
224+
{
225+
}
226+
227+
agp_shader_id agp_shader_lookup(const char* tag)
228+
{
229+
return BROKEN_SHADER;
230+
}
231+
232+
agp_shader_id agp_shader_build(const char* tag,
233+
const char* geom, const char* vert, const char* frag)
234+
{
235+
return BROKEN_SHADER;
236+
}
237+
238+
bool agp_shader_destroy(agp_shader_id shid)
239+
{
240+
return false;
241+
}
242+
243+
agp_shader_id agp_shader_addgroup(agp_shader_id shid)
244+
{
245+
return BROKEN_SHADER;
246+
}
247+
248+
void agp_empty_vstoreext(struct agp_vstore* vs,
249+
size_t w, size_t h, enum vstore_hint hint)
250+
{
251+
}
252+
253+
void agp_rendertarget_proxy(struct agp_rendertarget* tgt,
254+
bool (*proxy_state)(struct agp_rendertarget*, uintptr_t tag), uintptr_t tag)
255+
{
256+
}
257+
258+
void agp_drop_mesh(struct agp_mesh_store* s)
259+
{
260+
}
261+
262+
bool agp_slice_vstore(struct agp_vstore* backing,
263+
size_t n_slices, size_t base, enum txstate txstate)
264+
{
265+
return false;
266+
}
267+
268+
bool agp_slice_synch(
269+
struct agp_vstore* backing, size_t n_slices, struct agp_vstore** slices)
270+
{
271+
return false;
272+
}
273+
274+
void agp_glinit_fenv(struct agp_fenv* dst,
275+
void*(*lookup)(void* tag, const char* sym, bool req), void* tag)
276+
{
277+
278+
}
279+
280+
void agp_setenv(struct agp_fenv* dst)
224281
{
225282
}
226283

@@ -240,7 +297,7 @@ static char* symtbl[TBLSIZE] = {
240297
"timestamp"
241298
};
242299

243-
const char* agp_shader_symtype(enum arcan_shader_envts env)
300+
const char* agp_shader_symtype(enum agp_shader_envts env)
244301
{
245302
return symtbl[env];
246303
}
@@ -263,6 +320,12 @@ bool agp_status_ok(const char** msg)
263320
return true;
264321
}
265322

266-
void agp_render_options(struct agp_render_options)
323+
void agp_render_options(struct agp_render_options opts)
267324
{
268325
}
326+
327+
bool agp_accelerated()
328+
{
329+
return false;
330+
}
331+

0 commit comments

Comments
 (0)