Lines Matching refs:state

233 struct state {
278 next_sect(struct state *state, int *sect_size)
280 char *end = find_sect_end(state->buf, state->sz);
286 *sect_size = end - state->buf;
290 memcpy(sect, state->buf, *sect_size);
292 state->sz -= *sect_size + 4;
293 state->buf = end + 4;
387 dump_short_summary(struct state *state, int nconsts,
393 for (i = 0; i < state->hdr->num_varyings; i++) {
394 dump_varying(state->varyings[i]);
396 for (i = 0; i < state->hdr->num_attribs; i++) {
397 dump_attribute(state->attribs[i]);
399 for (i = 0; i < state->hdr->num_uniforms; i++) {
400 dump_uniform(state->uniforms[i]);
402 for (i = 0; i < state->hdr->num_samplers; i++) {
403 dump_sampler(state->samplers[i]);
431 dump_shaders_a2xx(struct state *state)
438 struct vs_header *vs_hdr = next_sect(state, &sect_size);
451 constants[j] = next_sect(state, &sect_size);
459 ptr = next_sect(state, &sect_size);
465 dump_short_summary(state, vs_hdr->unknown1 - 1, constants);
473 ptr = next_sect(state, &sect_size);
490 struct fs_header *fs_hdr = next_sect(state, &sect_size);
503 constants[j] = next_sect(state, &sect_size);
511 ptr = next_sect(state, &sect_size);
517 dump_short_summary(state, fs_hdr->unknown1 - 1, constants);
533 dump_shaders_a3xx(struct state *state)
544 vs_hdr = next_sect(state, &hdr_size);
555 if (state->hdr->revision >= 0xb)
557 else if (state->hdr->revision >= 7)
568 void *ptr = next_sect(state, &sect_size);
600 dump_short_summary(state, nconsts, constants);
604 if (state->hdr->revision >= 7) {
625 fs_hdr = next_sect(state, &hdr_size);
632 if (state->hdr->revision >= 0xb)
634 else if (state->hdr->revision >= 8)
636 else if (state->hdr->revision == 7)
648 void *ptr = next_sect(state, &sect_size);
681 dump_short_summary(state, nconsts, constants);
685 if (state->hdr->revision >= 7) {
701 dump_program(struct state *state)
706 state->hdr = next_sect(state, &sect_size);
709 printf("\tsize: %d\n", state->hdr->size);
710 printf("\trevision: %d\n", state->hdr->revision);
711 printf("\tattributes: %d\n", state->hdr->num_attribs);
712 printf("\tuniforms: %d\n", state->hdr->num_uniforms);
713 printf("\tsamplers: %d\n", state->hdr->num_samplers);
714 printf("\tvaryings: %d\n", state->hdr->num_varyings);
715 printf("\tuniform blocks: %d\n", state->hdr->num_uniformblocks);
717 dump_hex((void *)state->hdr, sect_size);
723 ptr = next_sect(state, &sect_size);
728 for (i = 0; (i < state->hdr->num_attribs) && (state->sz > 0); i++) {
729 state->attribs[i] = next_sect(state, &sect_size);
734 while (!valid_type(state->attribs[i]->type_info)) {
735 dump_hex_ascii(state->attribs[i], sect_size, 0);
736 state->attribs[i] = next_sect(state, &sect_size);
739 clean_ascii(state->attribs[i]->name, sect_size - 28);
742 dump_attribute(state->attribs[i]);
743 dump_hex((char *)state->attribs[i], sect_size);
747 for (i = 0; (i < state->hdr->num_uniforms) && (state->sz > 0); i++) {
748 state->uniforms[i] = next_sect(state, &sect_size);
753 while (!valid_type(state->uniforms[i]->type_info)) {
754 dump_hex_ascii(state->uniforms[i], sect_size, 0);
755 state->uniforms[i] = next_sect(state, &sect_size);
758 if (is_uniform_v2(state->uniforms[i])) {
759 clean_ascii(state->uniforms[i]->v2.name, sect_size - 53);
761 clean_ascii(state->uniforms[i]->v1.name, sect_size - 41);
766 dump_uniform(state->uniforms[i]);
767 dump_hex((char *)state->uniforms[i], sect_size);
771 for (i = 0; (i < state->hdr->num_samplers) && (state->sz > 0); i++) {
772 state->samplers[i] = next_sect(state, &sect_size);
777 while (!valid_type(state->samplers[i]->type_info)) {
778 dump_hex_ascii(state->samplers[i], sect_size, 0);
779 state->samplers[i] = next_sect(state, &sect_size);
782 clean_ascii(state->samplers[i]->name, sect_size - 33);
785 dump_sampler(state->samplers[i]);
786 dump_hex((char *)state->samplers[i], sect_size);
792 if (state->hdr->revision >= 7) {
793 for (i = 0; (i < state->hdr->num_samplers) && (state->sz > 0); i++) {
794 ptr = next_sect(state, &sect_size);
799 for (i = 0; (i < state->hdr->num_varyings) && (state->sz > 0); i++) {
800 state->varyings[i] = next_sect(state, &sect_size);
805 while (!valid_type(state->varyings[i]->type_info)) {
806 dump_hex_ascii(state->varyings[i], sect_size, 0);
807 state->varyings[i] = next_sect(state, &sect_size);
810 clean_ascii(state->varyings[i]->name, sect_size - 16);
813 dump_varying(state->varyings[i]);
814 dump_hex((char *)state->varyings[i], sect_size);
819 if (state->hdr->revision >= 14) {
820 for (i = 0; (i < state->hdr->num_varyings) && (state->sz > 0); i++) {
821 ptr = next_sect(state, &sect_size);
829 if (state->hdr->revision >= 7) {
831 state->outputs[0] = next_sect(state, &sect_size);
833 clean_ascii(state->outputs[0]->name, sect_size - 32);
836 dump_output(state->outputs[0]);
837 dump_hex((char *)state->outputs[0], sect_size);
841 for (i = 0; (i < state->hdr->num_uniformblocks) && (state->sz > 0); i++) {
842 state->uniformblocks[i].header = next_sect(state, &sect_size);
844 clean_ascii(state->uniformblocks[i].header->name, sect_size - 40);
847 dump_uniformblock(state->uniformblocks[i].header);
848 dump_hex((char *)state->uniformblocks[i].header, sect_size);
855 state->uniformblocks[i].members =
856 malloc(state->uniformblocks[i].header->num_members * sizeof(void *));
859 for (member = 0; (member < state->uniformblocks[i].header->num_members) &&
860 (state->sz > 0);
862 state->uniformblocks[i].members[member] = next_sect(state, &sect_size);
864 clean_ascii(state->uniformblocks[i].members[member]->name,
868 dump_uniformblockmember(state->uniformblocks[i].members[member]);
869 dump_hex((char *)state->uniformblocks[i].members[member],
877 for (member = 0; (member < state->uniformblocks[i].header->num_members) &&
878 (state->sz > 0);
880 state->uniformblocks[i].members[member] = next_sect(state, &sect_size);
882 clean_ascii(state->uniformblocks[i].members[member]->name,
886 dump_uniformblockmember(state->uniformblocks[i].members[member]);
887 dump_hex((char *)state->uniformblocks[i].members[member],
894 dump_shaders_a3xx(state);
896 dump_shaders_a2xx(state);
903 ptr = next_sect(state, &sect_size);
910 while (state->sz > 0) {
911 ptr = next_sect(state, &sect_size);
922 if (state->hdr->num_uniformblocks > 0)
923 free(state->uniformblocks[i].members);
1008 struct state state = {
1014 dump_program(&state);
1070 struct state state = {
1077 dump_program(&state);